Zum Inhalt springen

Focus/Cursor im CEdit (MFC/6.0)


TinTin

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...