Dialog - Ohne Titelleiste verschieben
-
ich hab bei meinen dialogen die titelleiste entfernt und kann sie jetzt natürlich nicht mehr verschieben. was kann ich da machen???
-
du baust eine zusätzliche abfrage ein, so dass der benutzter im einfachsten fall koordinaten eingibt, wohin er das fenster haben will, oder du baust ne abfrage der maus ein, das es sich so wie z.b. winamp verschieben lässt.
Zum verschieben nimm SetWindowPos() und wenn du es per maus machen willst, dann schau dir WM_LBUTTONDOWN oder WM_MOUSEMOVE
-
irgendwie hab ich befürchtet, dass da arbeit auf mich zukommt...
-
ich habs jetzt mit movewindow gemacht. das einzige problem ist dass der dialog schlieren zieht. sieht ja mal ganz nett aus, aber so toll ist das dann auch wieder net. kann man dagegen was tun?
-
-
ja, schaut eigentlich gut aus. nur: es funzt mal wieder net. er ruft die funktion onnchittest einfach nicht auf. wenn ich darin einen haltepunkt einfüge macht er ein fragezeichen rein und sagt "der haltepunkt wird nicht erreicht. es ist zum verzweifeln. ich habs doch genau so gemacht wie in dem posting
-
Schon komplett neu gebaut?
-
Hast du die Funktion manuell oder über den Assistenten eingefügt?
poste mal plz deinen Code...
Greez
-
hab sie manuell eingefügt.
afx_msg UINT CConectDialog::OnNcHitTest(CPoint point) { UINT nHitTest = CDialog::OnNcHitTest(point); if ((nHitTest == HTCLIENT) || (nHitTest == HTBORDER)) { nHitTest = HTCAPTION; } return nHitTest; }
-
also bei mir funzt das so einwandfrei....
UINT CGyroDlg::OnNcHitTest(CPoint point) { UINT nHitTest = CDialog::OnNcHitTest(point); if ((nHitTest == HTCLIENT) || (nHitTest == HTBORDER)) { nHitTest = HTCAPTION; } return nHitTest; }
und im header:
afx_msg UINT OnNcHitTest(CPoint point);
probiers mal so...
Greez
-
Und in die Messagemap bitte noch ein
ON_WM_NCHITTEST()
-
jop, thx, hatte ich vergessen
*schäm
-
besch***
da tut sich gar nix
-
- enForcer - schrieb:
hab sie manuell eingefügt.
[b]afx_msg [/b]UINT CConectDialog::OnNcHitTest(CPoint point) { UINT nHitTest = CDialog::OnNcHitTest(point); if ((nHitTest == HTCLIENT) || (nHitTest == HTBORDER)) { nHitTest = HTCAPTION; } return nHitTest; }
das fettgedruckte kommt da IMHO nicht hin...
-
Da hast du Recht, aber IHMO ist das eh nur zur Zierde.
// Type modifier for message handlers #ifndef afx_msg #define afx_msg // intentional placeholder #endif
Wenn es nach dem Wegmachen trotzdem geht, bin ich echt erstaunt.
-
jaaaaaaaaaaaaaaaaaaaa
hab bei meinem letzten post leider das mit der win message übersehen. und die hatte ich tatsächlich nicht drin.
herzlichen dank auch
- enf...
-
estartu_de schrieb:
Da hast du Recht, aber IHMO ist das eh nur zur Zierde.
// Type modifier for message handlers #ifndef afx_msg #define afx_msg // intentional placeholder #endif
Wenn es nach dem Wegmachen trotzdem geht, bin ich echt erstaunt.
echt jetzt?
if("jepp") wieder_was_gelernt();
@- enForcer -
np!
-
ähm, kann das sein, dass das meine onlbuttondown killt? die spricht jetzt nicht mehr an.
-
Ja, das kann sein.
Die Funktion macht folgendes:
Wurde der Dialog oder der Rand getroffen?
Ja, dann tu so als wenn es die Titelzeile war.
-
naja, macht auch nix. auf die lbutton funktion kann ich notfalls auch verzichten.