You are not logged in.

  • Login

1

Monday, October 23rd 2006, 8:49am

Dialog - Resize, Koordinatenproblem

Guten Morschen!
Also ich schreibe zuzeit eine Dialog-Anwendung und will bei dieser die Maximieren-Funktion hinzufügen. Mein Problem ist es nun, dass ich nicht weis wo ich die neuen Elemente hinzeichnen muss, da die Koordinaten die ich jeweils zurückkriege meiner Meinung nach net übereinstimmen(verschiedene Systeme).
Mein Beispiel:
vom Fenster mit GetWindowRect bekomme ich:
top:155, bottom:584, left:145,right:879 nach ClientToScreen top:340, bottom:769, left:294,right:1028

so und nun will ich nen Button in der OnSize neuzeichnen:
mit getclientrect bekomme ich: top:0, bottom:23, left:0,right:75 nach ClientToScreen top:185, bottom:208, left:149,right:224

Ich kann absolut keinen Zusammenhang sehen zwischen den Koordinaten vom Fenster und den von Button(Button ist unten Rechts im Fenster).
Kann mir vielleicht einer sagen wo mein Denkfehler liegt?

mfg
Mario

2

Monday, October 23rd 2006, 8:55am

Hier mal noch die OnSize:
void CTabctrlDlg::OnSizing(UINT fwSide, LPRECT pRect)
{
CDialog::OnSizing(fwSide, pRect);

CPoint CtrlRechtsUnten;
CPoint ButtonRechtsUnten;
CPoint lOben;
CPoint rUnten;
CRect Zwischen=pRect;

CRect button;
m_bOK.GetClientRect(button);

ClientToScreen(button);
ClientToScreen(Zwischen);

lOben.x = button.left;
lOben.y = button.top;
rUnten.x = button.right;
rUnten.y = button.bottom;


CtrlRechtsUnten.x=(Zwischen.right -25);
CtrlRechtsUnten.y=(Zwischen.bottom -25);
ButtonRechtsUnten.x=(Zwischen.right -23);
ButtonRechtsUnten.y=(Zwischen.bottom -75);
m_tabctrl.MoveWindow(10,10,CtrlRechtsUnten.x,CtrlRechtsUnten.y,true);
m_bOK.MoveWindow(150, 1002,button.Width(),button.Height(),true); //x,y sind frei gewählt, aber genau die brau ich

3

Monday, October 23rd 2006, 10:55am

rein theoretisch müsste er doch wenn ich MoveWindow mit den alten Koordinaten füttere :
m_bOK.MoveWindow(button.left, button.top, button.Width(),button.Height(),true);

den Button immer an der Ursprungsposition zeichnen? Er malt mir das Ding aber dann mitten in dialog ...

mfg

4

Monday, October 23rd 2006, 1:47pm

Weiss keiner was? Irgendwer muss doch schon mal "Veränderbare Größe" in seinen Dialog eingebaut haben? Wie macht ihr das denn? ....

mfg

Similar threads

Social bookmarks