tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
253
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    Hallo liebe Leutz,


    ich möchte gerne die Position eines Steuerelemetes bestimmen. Dieses ist auf meiner Form da und würde die Position zur Laufzeit gerne bestimmen, da ich dieses dann dymaisch gegen ein anders ersetzen möchte.

    Kann mir wer von euch sagen, wie ich die Position über die ID abfragen kann. Habe so was die CRect versucht aber ich finde keine Funktion die das gewünschte ergebnis erzeugen kann.

    Vielen Dank schonmal für die Hilfe!

    Gruß

    PS: VS C++6.0
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    In der Dialog-Klasse des Dialogs, auf dem das Control liegt, kannst du mit GetDlgItem und der ID das CWnd (oder HWND) holen.
    Damit kannst du dann SetWindowPos/GetWindowPos aufrufen.
     

  3. #3
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    Vielen Dank für die Antwort,

    habe es jetzte so gelöst.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
     
    RECT  rc1;
            WINDOWPLACEMENT winplace;
            
            HWND hwnd_ProgBat = GetDlgItem(hwnd,DID_PROGRESS_BATTERY);
            
            GetWindowPlacement(hwnd_ProgBat, &winplace);   
            
            rc1 = winplace.rcNormalPosition;
            
    l_ProgBattery.Create(WS_BORDER | WS_VISIBLE, rc1,
                                 CWnd::FindWindow(NULL,"Messwert-Registrierung"),
                                 NULL);
     

  4. #4
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    Jetzt habe ich das gestern so schön hinbekommen, das es funktionert und muss heute feststellen, als ich es für CE über setzen wollte nicht funktioniert. Hat einer einen kleinen Tip, ansonsten muss ich mir eine andere Lösung einfallen lassen.
    Compiler: Enbedded 4.0 c++

    Besten dank
     

  5. #5
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Was heisst denn "nicht funktioniert"? Compiliert der Code für CE nicht? Oder tut einer der Befehle nicht was er soll?
     

  6. #6
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    Hatte doch gesagt., das er das nicht compilieren kann. Hat ein Problem mit der WINDOWPLACEMENT Strukur. Nagut die hätte ich auch selber schreiben können. Sind ja nur POINTs und so ein paar andere sachen drinnen

    Aber dann benutze ich ja noch die FUNKTION GetWindowPlacement(hwnd_ProgBat, &winplace); wo ich genau diese Struktur brauche! Da ist auch nichts mit casten meiner eigenen Struktur, er kennt das einfach nicht!

    Muss jetzt leider einen anderen Ansatz wählen.

    Gruß u besten Dank
     

  7. #7
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.
    Zitat Zitat von Winner Beitrag anzeigen
    Hatte doch gesagt., das er das nicht compilieren kann. Hat ein Problem mit der WINDOWPLACEMENT Strukur. Nagut die hätte ich auch selber schreiben können. Sind ja nur POINTs und so ein paar andere sachen drinnen

    Aber dann benutze ich ja noch die FUNKTION GetWindowPlacement(hwnd_ProgBat, &winplace); wo ich genau diese Struktur brauche! Da ist auch nichts mit casten meiner eigenen Struktur, er kennt das einfach nicht!
    Poste mal die genaue Fehlermeldung. Wenn er die GetWindowPlacement Funktion kennt, muss ja auch die Struktur bekannt sein.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  8. #8
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    ich denke mal das das Problem erst im 2 Schritt die Funktion sein wird. Denn ich muss ja dort das WINPLACEMENT übergeben! Zumindest erwartet die Funkttion das ! Aber zu erst muss ja erstmal das WINPLACEMENT erzeugt werden.

    So hier die Meldung
    Code :
    1
    2
    3
    4
    5
    
    error C2065: 'WINDOWPLACEMENT' : undeclared identifier
    D:\: error C2146: syntax error : missing ';' before identifier 'winplace'
    D:: error C2065: 'winplace' : undeclared identifier
    D:: error C2065: 'GetWindowPlacement' : undeclared identifier
    D:: error C2228: left of '.rcNormalPosition' must have class/struct/union type
    Die Meldung sind nichts spektakuläres! Und laut msdn sind die WINDOWPLACMENT und GetWindowPlacment auch nur für NT vorhanden und nicht für CE----

    Betsen dank und schönes WE
     

  9. #9
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Zitat Zitat von Winner Beitrag anzeigen
    ich denke mal das das Problem erst im 2 Schritt die Funktion sein wird.
    Nein, eigentlich ist das erste Problem die Funktion. Wenn es die Funktion nicht bei CE gibt, dann brauchst du dir auch keine Gedanken über die Struktur machen...

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  10. #10
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Dann bleibt wie oben erwähnt immer noch GetWindowPos/SetWindowPos.
     

Ähnliche Themen

  1. Klasse als Eigenschaft eines Steuerelementes
    Von HD-Driver im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 10.06.07, 11:25
  2. Antworten: 4
    Letzter Beitrag: 18.12.06, 14:28
  3. Einbinden eines Steuerelementes in das DataGridView?
    Von gaussmath im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 21.09.06, 13:47
  4. Antworten: 1
    Letzter Beitrag: 19.03.04, 16:00
  5. Eigenschaften/Ereignisse eines Steuerelementes anpassen
    Von Test im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 29.08.03, 10:50