Registriert seit: 6. Mär 2005
Ort: Hannover
16 Beiträge
|
Re: Fenster erstellen mit TP für Windows?
19. Okt 2005, 19:54
Hallo!
Ich greife den Code mal auf:
Delphi-Quellcode:
program APPNAME;
uses
WinCrt, WinProcs, WinTypes;
var
WndClass: TWndClass; //Eine Datenstruktur zur Festlegung der Fenstereigenschaften
msg: TMSG; //Die Message Struktur
function WNDPROC(hwnd: HWND; uMsg, wParam: WORD; lParam: LongInt): LongInt;
begin
//Keine Änderung oder Erweiterung. WndProc wird so verwendet, wie sie ist
WNDPROC := DefWindowProc(hwnd, uMsg, wParam, lParam);
end;
begin
//Hier werden die Fenstereigenschaften definiert
WndClass.style := CS_OWNDC;
WndClass.lpfnWndProc := @WNDPROC;
WndClass.cbClsExtra := 0;
WndClass.cbWndExtra := 0;
WndClass.hInstance := hInstance; //??? Wo wurde dieser Zeiger festgelegt???
WndClass.hIcon := 0;
WndClass.hCursor := LoadCursor(hInstance, IDC_ARROW);
WndClass.hbrBackground := COLOR_WINDOW;
WndClass.lpszMenuName := nil;
WndClass.lpszClassName := 'WndClass';
//Nun kann das Fenster in eine interne Liste aufgenommen werden
RegisterClass(WndClass);
//Erst hier wird das Fenster erzeugt, indem es über seinen Textnamen in der internrn
//Liste gesucht wird. Soweit ich mich erinnern kann, muß die Anzeige dieses Fensters
//mit einer Show Prozedur erzwungen werden
CreateWindowEx(WS_EX_DLGMODALFRAME, 'WndClass',
'Bruchrechnen',
WS_VISIBLE or WS_CAPTION or WS_SYSMENU,
0, 0,
500, 500,
0, 0, hInstance, nil);
while True do
begin
if not GetMessage(msg, 0, 0, 0) then //Message holen
exit;
//Hier wird die Message in irgendwas übersetzt. Muss selber nachlesen, was diese Anweisung
//bewirkt. (Wissenslücke)
TranslateMessage(msg);
//Und hier wird die Message im Windows System an die anderen Fenster verteilt, falls hier
//noch nicht verarbeitet, weil vielleicht für anderes Fenster vorgesehen.
DispatchMessage(msg);
end;
end.
Ich vermute, das der nicht definierte Zeiger hInstance Schuld an dem Laufzeitfehler ist.
Bitte berichtigt mich bezüglich der Kommentare, falls ich irgendwo falsch liegen sollte.
Traudix
Suche die Herausforderung!
|
|
Zitat
|