2010-02-17 15:56 UTC
Hallo,
ich habe folgenden code:
(defun c:CreateElec_Form1_Listenfeld2_OnDragnDropFromControl (strProjectName strFormName strControlName uDropPoint / draglist suffix strsearch)
(setq draglist (dcl_ListBox_GetSelectedItems CreateElec_Form1_Listenfeld1))
(setq suffix (dcl_Control_GetText CreateElec_Form1_Textfeld1))
(setq draglist (mapcar '(lambda (el) (strcat el suffix)) draglist))
(foreach strsearch draglist
(if (= (dcl_ListBox_FindStringExact CreateElec_Form1_Listenfeld2 strsearch) -1)
(progn
(dcl_ListBox_AddString CreateElec_Form1_Listenfeld2 strsearch)
; (dcl_ListBox_InsertString CreateElec_Form1_Listenfeld2 intItemIndex strsearch)
)
)
)
)
Ziel ist:
Elemente von Listefeld1 (DragnDropBegin Event ist aktiviert) nach Listenfeld2 (DragnDropFromControl Event ist aktiviert) zu ziehen.
Dabei wird ein suffix angehängt und es werden keine doppelten Elemente zugelassen.
Es funktioniert alles und mit dcl_ListBox_AddString werden die Elemente am Ende im Listenfeld2 eingefügt.
Ich möchte aber eine Einfügung an der Stelle tätigen, auf die der Curser zeigt wenn die linke Maustaste
losgelassen wird. Dazu würde ich dcl_ListBox_InsertString nützen. Nur, wo kriege ich intItemIndex her ?
Das Ereignis CreateElec_Form1_Listenfeld2_OnDragnDropFromControl übergibt nur die Liste uDropPoint
und dcl_ListBox_GetFocusIndex bringt auch nichts.
Natürlich wenn ich DragnDropFromControl bei den Ereignissen für Listenfeld2 deaktiviere, kann ich mit der Maus bestimmen wo die Elemente hinkommen aber dann kann ich keinen Code mehr schreiben.
Vielleicht kann mir jemand weiterhelfen. Vielen Dank
ich habe folgenden code:
(defun c:CreateElec_Form1_Listenfeld2_OnDragnDropFromControl (strProjectName strFormName strControlName uDropPoint / draglist suffix strsearch)
(setq draglist (dcl_ListBox_GetSelectedItems CreateElec_Form1_Listenfeld1))
(setq suffix (dcl_Control_GetText CreateElec_Form1_Textfeld1))
(setq draglist (mapcar '(lambda (el) (strcat el suffix)) draglist))
(foreach strsearch draglist
(if (= (dcl_ListBox_FindStringExact CreateElec_Form1_Listenfeld2 strsearch) -1)
(progn
(dcl_ListBox_AddString CreateElec_Form1_Listenfeld2 strsearch)
; (dcl_ListBox_InsertString CreateElec_Form1_Listenfeld2 intItemIndex strsearch)
)
)
)
)
Ziel ist:
Elemente von Listefeld1 (DragnDropBegin Event ist aktiviert) nach Listenfeld2 (DragnDropFromControl Event ist aktiviert) zu ziehen.
Dabei wird ein suffix angehängt und es werden keine doppelten Elemente zugelassen.
Es funktioniert alles und mit dcl_ListBox_AddString werden die Elemente am Ende im Listenfeld2 eingefügt.
Ich möchte aber eine Einfügung an der Stelle tätigen, auf die der Curser zeigt wenn die linke Maustaste
losgelassen wird. Dazu würde ich dcl_ListBox_InsertString nützen. Nur, wo kriege ich intItemIndex her ?
Das Ereignis CreateElec_Form1_Listenfeld2_OnDragnDropFromControl übergibt nur die Liste uDropPoint
und dcl_ListBox_GetFocusIndex bringt auch nichts.
Natürlich wenn ich DragnDropFromControl bei den Ereignissen für Listenfeld2 deaktiviere, kann ich mit der Maus bestimmen wo die Elemente hinkommen aber dann kann ich keinen Code mehr schreiben.
Vielleicht kann mir jemand weiterhelfen. Vielen Dank