Moin
aus gegebenem Anlass (GDI+) will ich mich mehr mit nonVCL Programmen in Delphi beschäftigen und hab dazu dann euch einige Dinge wo ich nicht weiß wie ich die unter nonVCL realisier.
Also:
1. Wie kann ich bei nonVCL nen OnIdle Event setzen ? Ich habs mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| while(GetMessage(msg, 0, 0, 0)) do begin TranslateMessage(msg); DispatchMessage(msg); OnIdle(hWnd); end; |
probiert, aber das wird nichts. Da reagiert das Prog nicht drauf. Die OnIdle procedure ruft die gleiche procedure wie beim zeichnen auf, also entweder wird die OnIdle procedure nicht ausgeführt, oder aber die Fenster Graphik wird nicht aktualisiert. Falls letzteres, wie kann ich das realisieren (ohne InvalidateRect, da das Ding zum FLimmer Konzet führt)?
2. Wie krieg ich wie bei den MouseUp/Down Events der VCL die Shift States der Tasten raus, sprich ob Ctrl, Alt etc. gedrückt sind ?
3. Wenn ich das Fenster mittels
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| hWnd := CreateWindow( '<someClassName>', '<someWindowCaption>', WS_MAXIMIZE or WS_VISIBLE, Integer(0), Integer(0), GetSystemMetrics(SM_CXFULLSCREEN), GetSystemMetrics(SM_CYFULLSCREEN), 0, 0, hInstance, nil); |
erstelle, dann krieg ich zwar nen Fenster was so groß wie der Bildschirm ist, aber ich hab immer noch die Titel Leiste oben und den Fenster Rahmen, den will ich aber gar nicht haben. Ich habs auch schon ohne WS_MAXIMIZE und WS_VISIBLE ausprobiert, aber leider nichts gefunden was das sein könnte.. Wie kann ich diese blöde Titelleiste / Rahmen verstecken ?
4. uhm.. kA was das noch war, ist mir entfallen während ich geschrieben hab. Aber ich komme wieder
Schon mal vielen Dank im Vorraus für die Hilfe.
- Thebe
Moderiert von
Peter Lustig (09:50, 28.04.2004): Code- durch Delphi-Tags ersetzt