TinTin Geschrieben 18. September 2003 Geschrieben 18. September 2003 hi, es ist wieder so weit, ich hätte da gern mal ein problem... ich hab da in meiner dialoganwendung ein editfeld. jetzt hätte ich gerne, dass, wenn man mit dem tabulator oder der maus den focus/cursor in dieses feld setzt, eine meldung angezeigt wird. ich hab schon ein wenig gesucht im forum und msdn, aber zu den schlagworten focus, cursor oder CEdit hab ich nichts verwertbares gefunden. es gibt zwar ein OnSetFocus() aber das ist wohl nur für COleObject. die ganze sache kann ja eigentlich nicht so schwierig sein und ich seh mal wieder den wald vor lauter bäumen nicht. ich hoffe ihr könnte mich in die richtige richtung schubsen... :confused: ciao TinTin
Goos Geschrieben 18. September 2003 Geschrieben 18. September 2003 Fuer ein CEdit gibts ne EN_SETFOCUS Message. Findet sich aber auch im ClassWizdard. Komisch, dass du das nicht gefunden hast. Goos
TinTin Geschrieben 19. September 2003 Autor Geschrieben 19. September 2003 danke, hab ich dann auch gestern abend noch gefunden. ist aber noch nicht das was ich eigentlich will, denn ich bekomme den focus nicht mehr weg. was ich eigentlich machen will ist folgendes. ich habe ein editfeld, in dem steht ein name, bestehend aus anrede, titel, vor- und nachname. nun soll, wenn ich mit der maus oder dem tabulator auf das editfeld gehe ein kleiner dialog geöffent werden, der mir die möglichkeit gibt den namen in seinen einzelteilen getrennt zu bearbeiten. z.b. den vornamen ändern und aus einem doktor einen professor machen. beim schliessen soll der string dann wieder zusammengebaut werden und im ersten editfeld agezeigt werden. bei der EN_SETFOCUS lösung geht mir der bearbeitungs dialog immer wieder auf, da, wenn dieser geschlossen wird das erste editfeld immer wieder den focus erhält. hat jemand noch eine idee, die bei maus und tabulator einsatz funktioniert. ciao TinTin
jasso Geschrieben 19. September 2003 Geschrieben 19. September 2003 hi versuch mal den focus bewusst auf ein anderes Steuerelement zu platzieren. das problem an der sache is nur dass du mit einer boolschen variable einen kleinen umweg gehen musst damit nicht sofort wieder die OnSetFocus.. aufterufen wird versuchs mal ungefähr so: void CDiagrammDlg::OnSetfocus...() { if(m_schongesetzt) { m_schongesetzt = false; MessageBox("test") oder Dialog.DoModal() ...; } GetDlgItem(IDC_...)->SetFocus(); m_schongesetzt = true; } die boolsche variable muss türlich am anfang gleich true gesetzt sein und die namensgebung is vielleicht a bissel dämlich, aber mir ist gerade nix besseres eingefallen. mfg jasso
TinTin Geschrieben 19. September 2003 Autor Geschrieben 19. September 2003 bedankt, netter tipp. jetzt is alles in butter... ciao TinTin
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden