Eigene Klasse für STATIC Text
-
Hi @ all,
ich hab folgendes Problem... ich möchte eine Static Text klasse erstellen mit allen möglichen infos und einer funktion z.B. Show_ALL oder Hide_ALL, das problem is ... ich raffs grad garnich ... wie baue ich am besten die klasse ??
und was muss alles rein??
so long ...
-
willst du ein static control kapseln? ein vorschlag wäre so:
class cStatic { public: cStatic(HWND hParent, LPTSTR pszText, int nPosX, int nPosY) { hwnd = CreateWindow("STATIC", ...); //.. }; int Move(..); //weitere "nützliche" funktionen private: HWND hwnd; };
-
Hi f00lish (wir treffen doch immer wieder aufeinander
),
nunja .. ich brauche insagesamt 8 dieser static´s ... in jedem werden andere daten angezeigt werden .. nach möglichkeit möchte ich gern das zeichnen der static´s und die funktion das alle der in der classe angelegten static´s angezeigt oder eben nicht angezeigt werden in der klasse verankern ( lässt sich dann bei erweiterung leichter pflegen) ... nur wiegesagt .. ich steh grad vällig aufm schlauch ... (muss die hitze sein
)
so long...
-
So, hab nu ma was zusammen gebastelt, nun stellt sich aber die frage, wie ruf ich das ganze nachher auf ??
hier mal der code meiner klasse:
#include "windows.h" #include "StdAfx.h" #pragma once class CWerte { public: CWerte (HWND hParent, LPTSTR pszText, int nPosX, int nPosY, HINSTANCE hInstance, int iCmdShow) { int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow); WNDCLASSEX CWerteDef; CWerteDef.hInstance = hInstance; { hwnd = CreateWindow ("static", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT, 35, 0, 150, 20, hwnd, NULL, hInstance, NULL) ; SendMessage(hwnd,WM_SETTEXT,0,(long)"blablubb"); ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; } }; private: HWND hwnd; };
so long...
-
!!! Kann so gar net funzen !!!
Instanziierung eines Objekts und die Erstellung eines Fensters sind zwei voneinander unabhängige Funktionen, die deshalb nicht zusammen in den Konstruktor gehören, weil das Objekt grösstenteils bei Programmstart instanziiert wird, zu dieser Zeit aber noch gar kein Fenster, somit auch KEIN Parentfenster existiert.
-
hmm, da könnteste glatt recht haben
... nur die grosse preisfrage is ja ... wie bekomme ich das hin, am besten ne klasse von CStatic ableiten ... rahmen zeichnen usw .. nur wo zeichne ich dann ?? ... und vor allem was mich am meisten beschäftigt is ... wie kann ich die so erstellten static´s zusammenfassen um sie dann gesammelt zu öffnen oder zu schliessen ??
vieleicht hast du ja ne idee ... ich hab im mom keine
so long..
-
So faßt Du die so erstellten Textfelder zusammen, um sie dann gesammelt zu öffnen oder zu schliessen:
Im Konstruktor wird eine Registrier-Funktion aufgerufen, welche z. B. die Adresse des Textfeld-Objekts in eine Liste einfügt. Im Destruktor wird eine analoge Deregistrier-Funktion aufgerufen. Um eine Funktion für alle Textfeld-Objekte aufzurufen, wird einfach durch die Liste durchiteriert.