Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 242936 (4372)

| Suchen
| Zurück zur Übersicht

Autor | Thema: ListView: EditLabel
Sebastian Sprenger
| Datum:30.05.02 22:35 (prof.chaos@netcologne.de) |
Hallo, wenn man in einem ListView kurz die Maustaste gedrückt hält und wieder losläßt, erscheint ja ein kleines EditControl, in dem man den Zelleninhalt ändern kann. Die Änderung muss das Programm dann allerdings selbst übernehmen. Das Problem ist: Woher weiss ich, dass gerade so ein Control erschienen ist, in welcher Zeile es ist und dass es wieder verschwindet?
Philipp Sternberg
| Datum:31.05.02 11:54 (ps@burghardt-ib.de) |
Eigentlich solltest du so etwas über wm_Notify mitbekommen. Problem ist nur, dass die Auswertung von wm_Notify unter Profan sehr zu wünschen übrig lässt. Ich hab auch schon vor dem Problem gestanden und leider keine Lösung gefunden
Sebastian Sprenger
| Datum: 31.05.02 15:10 (prof.chaos@netcologne.de) |
Naja, zuerst dachte ich an LVN_BEGINLABELEDIT. Dieser Code hat die Nummer -105. Glaube ich. %notifycode glaubt es jedenfalls nicht. Inzwischen habe ich aber ne Lösung gefunden:
    declare a$,a&,a#,y%
    proc CheckEdit
      parameters lvm&
      a&=sendmessage(lvm&,$1018,0,0) ' LVM_GETEDITCONTROL
      casenot a&:return
      y%=sendmessage(lvm&,$1004,0,0) ' LVM_GETITEMCOUNT
      while y%
        dec y%
        case sendmessage(lvm&,$102C,y%,1):break ' LVM_GETITEMSTATE
      endwhile
      while getfocus(a&)
        a$=gettext$(a&)
        waitinput
      endwhile
      dim a#,36
      long a#,0=1
      long a#,4=y%
      long a#,8=0
      a&=addr(a$)
      long a#,20=a&
      long a#,24=len(a$)
      sendmessage(lvm&,$1006,0,a#)
      dispose a#
    endproc

| Zurück zur Übersicht