"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

fensterposition

FMFlash 26.06.2002 - 16:29 509 3
Posts

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
ich will mein dialogfenster in der ecke rechts oben platzieren, es landet allerdings immer links oben

folgender code wird einmalig in ::OnPaint() getriggert:

CWnd *pWnd, *pWndInsertAfter;
CRect rec, thisRec;

pWnd = GetDesktopWindow();
pWnd->GetClientRect( rec );

this->GetClientRect( thisRec );
this->SetWindowPos( pWndInsertAfter, (rec.right-thisRec.Width()), rec.top, thisRec.Width(), thisRec.Height(), NULL );

wo liegen die fehler?

ps: start ichs am rechten monitor landets in der mitte, am linken links oben

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
pfff
so auf die gachn schauts ok aus :confused:

welche VC-version verwendest denn?

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
6.0

im c++.de forum wurde bestätigt das es funktioniert, aber bei mir tut es das eben nicht!

ps: alles was ich bekomm is entweder ein fenster in der mitte oder einen "fehler in anwendung"-requester
Bearbeitet von FMFlash am 26.06.2002, 17:36

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
problem gelöst

statt
this->SetWindowPos( pWndInsertAfter, (rec.right-thisRec.Width()), rec.top, thisRec.Width(), thisRec.Height(), NULL );

ganz einfach
this->SetWindowPos( NULL, (rec.right-thisRec.Width()), rec.top, thisRec.Width(), thisRec.Height(), NULL );

:D :cool:
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz