Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Fenster an beliebige Position verschieben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.10.2004, 14:15 Uhr
~der ralf
Gast


Habe mal ne Frage:
Ich rufe aus dem Haputfenster über einen Button ein zweites Fenster auf welches sich in der Bildschirmmitte aufbaut. Das möchtte ich aber an eine Stelle meiner Wahl verschieben.
Ich habe folgende Funktion eingefügt:

BOOL CVersuchView::PreCreateWindow(CREATESTRUCT& cs)
{
cs.y = 0;
cs.x = 130;
return CDialog::PreCreateWindow(cs);
}

Passieren tut aber nichts. Bei dem Hauptfenster ist diese Funktion gleich mit vorhanden und ich kann auch die Position verändern.
Kann mir jemand sagen was ich noch veränden muß damit das mit dem zweiten Fenster auch geht.

MfG
der ralf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.10.2004, 13:14 Uhr
Darky



Schau mal in die msdn unter

CDialog::
BOOL InitModalIndirect( LPCDLGTEMPLATE lpDialogTemplate, CWnd* pParentWnd = NULL ); ----> DLGTEMPLATE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.10.2004, 14:42 Uhr
~der ralf
Gast


Krieg das nicht zum laufen. Mach folgendes:


Ich ersetze

C++:
    m_NewWindow.DoModal();



durch

C++:
    LPCDLGTEMPLATE  lpDialogTemplate;
    m_NewWindow.InitModalIndirect(lpDialogTemplate,NULL);



Aber wie weise ich den jetzt LPCDLGTEMPLATE Werte zu. (In meinem Fall x und y )? So stürzt das Programm auf jeden Fall ab an der Stelle.

MfG
der ralf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.10.2004, 22:10 Uhr
Darky



NA hast Du die DLGTEMPLATE-structur

C++:
typedef struct { // dltt
    DWORD style;
    DWORD dwExtendedStyle;
    WORD  cdit;
    short x;
    short y;
    short cx;
    short cy;
} DLGTEMPLATE;


auch angelegt????


Bearbeitung von Windalf:

he darky du bist doch auch schon länger dabei...
verwende mal bitte codetags um das forum übersichtlicher zu halten...


Dieser Post wurde am 19.10.2004 um 22:14 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.10.2004, 11:22 Uhr
~der ralf
Gast


Muß ich das denn? Die steht doch in der winuser.h drin. Falls doch wie muß ich denn da vorgehen?

Gruß
der ralf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.10.2004, 16:48 Uhr
Darky



hier kannst Du Dir n Bsp. Downloaden

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample/html/_sample_mfc_dlgtempl.asp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.10.2004, 02:04 Uhr
~toxic
Gast


hi, ich benutze dazu eigentlich das WINDOWPLACEMENT struct, damit kannste sogar die groesse der dialogs aendern.


C++:
WINDOWPLACEMENT wnd;
GetWindowPlacement(&wnd);
wnd.length = sizeof(WINDOWPLACEMENT);
wnd.rcNormalPosition.left = wLeft;
wnd.rcNormalPosition.top = wTop;
wnd.rcNormalPosition.right = wLeft+wWidth;
wnd.rcNormalPosition.bottom = wHeight+wTop;
SetWindowPlacement(&wnd);


--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.10.2004, 09:33 Uhr
~der ralf
Gast


@toxic

Danke für den heißen Tip. Funzt prima......

Gruß
der ralf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: