Deutsch
Forum

Editfelder per Sendmessage auswählbar ?

 
um in einem programm eine datenerfassung zu realisieren hatte ich bisher eine methode, in der ich 2 LVs benutze.
die 1. LV ist einzeilig und verfügt über editfelder.
die eingaben werden anschließendt über den zwischenweg einer sql-datenbank in der 2. LV dargestellt.
eine LV zur datenerfassung anstelle Text/Button/Editelementen ist wesentlich einfacher wenn sich layouts z.b bei unterschiedlichen bildschirmauflösungen ändern.

leider ist das handling (re.Maustaste bzw. doppelklick) für tastarurorientierte anwender zu umständlich.
damit fortlaufend eingaben per tastatur möglich sind möchte ich folgendes realisieren.

1. ich kann per software (sendmessage ?) ein editfeld aktivieren.
2. ENTER wechselt zum nächsten editfeld (geht ja jetzt schon)
3. nach dem letzten feld, ist kein editfeld mehr aktiv, das müßte ich erkennen (Statusabfrage aller editfelder) um den datensatz zu übernehmen und in die 2. LV zu schreiben
4. jetzt aktiviere ich per software wieder das editfeld von 1.
und setze den focus auf die LV (das muß nicht zwangsläufig das 1. feld der LV sein)

ich hoffe, ich habe mich verständlich ausgerückt.
um mein programm für tastaturbedienung zu optimieren mußte ich auf editfelder ausweichen, sieht aber nicht so toll aus und ist umständlich, da ich mich dynamisch an bildschirmauflösungen anpasse, und auch schnell mal den aufbau der eingabefelder ändere. die LVs werden bei mir vollautomatisch aus der sql-datenbank generiert und stellen die sicht auf eine tabelle dar. insofern stellt die LV mit den eingabefeldern auch nur einen teil meiner datenbank dar.

gibt es für mich hoffnung? das einzige was ich gefunden habe ist die LVM_EDITLABEL message, die aber bei mir gar nichts tut.

r.r.
 
10.11.2004  
 



Hi Ragnar,

hast du das Demo Eigene_Eingaben.prf schon mal angesehen, in dem eigene Controls realisiert werden? Könnte was für dich sein.
Um ein Editfeld zu aktivieren, benötigst du ja dessen Handle. Das kannst du mit der Funktion GetVar() / Flag 0 erfragen. Aktivieren geht ja dann mit SetFocus.
Vergiss die LVM_EDITLABEL Message von Windows. Ist kompliziert und funktioniert auch nur für Spalte 0.

Hoffe, das hilft dir auf die Sprünge.

Gruß, Frank
 
10.11.2004  
 



vielen dank für die schnelle antwort.

GetOwnControlParas(B,H,S,Z) ist ja ein mächtiges teil.
ich hatte zwar schon früher die demo gesehen, aber noch nie versucht zu verstehen wie das funktioniert.
damit sollte sich so ziemlich alles machen lassen.
nächste woche hab ich urlaub, evtl. wäre das ja mal eine nette fleißaufgabe.

GetVar() ist sicher die lösung um festzustellen wann das editieren begonnen bzw. beendet wurde.
eine aktivierung mit setfocus scheint mir nicht möglich, denn dazu müßte ich das handle ja schon vorher kennen.
außerdem ist mir aufgefallen, daß sich das handle eines editfeldes bei jeder neuauswahl ständig ändert. also nützt es auch nichts, sich das handle zu merken.
vielleicht habe ich ja auch was noch nicht richtig begriffen....
ich habe jedenfalls versucht ein editfeld zum blinken zu bringen (das würde die kontrollmöglichkeit beweisen) - ohne erfolg.
wenn man das hinbekäme wäre das die einfachste lösung für mein problem mir dem editieren.

r.r.
 
10.11.2004  
 



Hi,

ich habe jedenfalls versucht ein editfeld zum blinken zu bringen (das würde die kontrollmöglichkeit beweisen) - ohne erfolg.
wenn man das hinbekäme wäre das die einfachste lösung für mein problem mir dem editieren.

Das geht so nicht. Sobald das Editfeld den Focus verliert, wird es entfernt. Muß ja auch so sein.
Um das zu realisieren, was du anstrebst, müßtest du das Editfeld subclassen.
Ich mache das in der Dll schon. Sag mir, was genau du vorhast und ich schau mal, ob ich das irgendwie realisieren kann. Laß uns das aber via persönlicher Mail weiter bequatschen.

Gruß, Frank
 
10.11.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.565 Betrachtungen

Unbenanntvor 0 min.
H.BrillGestern (09:19)
Walter17.05.2022
Member 820412718.04.2020
RudiB.05.04.2020
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (4x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie