Autor Beitrag
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: So 22.06.03 18:31 
Ich dachte das geht über

ausblenden Delphi-Quelltext
1:
SendMessage(hwnd, LB_SETSEL, Integer(True), Index);					


In der Hifle zu LB_SETSEL steht
Zitat:
LB_SETSEL
wParam = (WPARAM) (BOOL) fSelect; // selection flag
lParam = (LPARAM) (UINT) index; // item index


Das funzt aber überhaupt nicht :( also wenn ich jetzt z.B.
ausblenden Delphi-Quelltext
1:
SendMessage(hwndListbox, LB_SETSEL, Integer(True), 1);					

mache selektiert er überhaupt nix bzw nix anderes. Was mache ich falsch?

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 23.06.03 13:18 
Sorry, dass ich hier doppelposte, aber das dürfte doch für euch Profis kein Problem sein :(

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 23.06.03 14:20 
Auszug aus Luckies Listbox-Demo (Prozedur "SelAll"):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  CountItems := SendMessage(hwndListbox, LB_GETCOUNT, 00);
  if CountItems = 0 then exit;

  for i := 0 to CountItems do
    SendMessage(hwndListbox, LB_SETSEL, Integer(true), i);

Geht. :)
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 23.06.03 15:41 
Hmm, die hab ich schon gelesen aber wenn ich jetzt direkt nach dem erstellen die letzte Zeile einfüge und das i durch 1 ersetze müsste doch das 2 Item Selektioert werden, oder? und das wird es eben nicht...

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 23.06.03 18:04 
Nochmals ein Auszug aus der angesprochenen Demo, wenn auch leicht verändert. Das soll beweisen, dass es auch gleich nach dem Erstellen der Listbox und der Items funktioniert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
case uMsg of
  WM_CREATE:
    begin
      { ... }

      {Listbox erstellen}
      hwndListBox := CreateWindowEx(WS_EX_CLIENTEDGE, 'LISTBOX'nil, WS_CHILD
        or WS_VISIBLE or LBS_STANDARD or LBS_EXTENDEDSEL, 1010200230,
        hWnd, IDC_LB, hInstance, nil);

      {Listbox füllen}
      buffer := 'Peter';
      SendMessage(hwndListbox, LB_ADDSTRING, 0, Integer(@buffer));
      buffer := 'Dieter';
      SendMessage(hwndListbox, LB_ADDSTRING, 0, Integer(@buffer));
      buffer := 'Uli';
      SendMessage(hwndListbox, LB_ADDSTRING, 0, Integer(@buffer));
      buffer := 'Norbert';
      SendMessage(hwndListbox, LB_ADDSTRING, 0, Integer(@buffer));
      buffer := 'Otto';
      SendMessage(hwndListbox, LB_ADDSTRING, 0, Integer(@buffer));

      { 2. Item auswählen }
      SendMessage(hwndListbox, LB_SETSEL, integer(true), 1);

      { ... }
    end;
end;

Geht auch. Ich weiß nicht mehr weiter, @Tweafis. Sorry, dass ich dir nicht helfen kann, aber ich sehe keinen Fehler. :(
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 23.06.03 19:39 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
        hwndListbox := CreateWindowEx(WS_EX_CLIENTEDGE or WS_EX_STATICEDGE, 'LISTBOX'nil, WS_VISIBLE or
          WS_CHILD, 88200200,
          hWnd, IDC_LISTBOX, hInstance, nil);

        SendMessage(hwndListbox, LB_SETSEL, Integer(True), 1);


So sieht mein Code aus. Warum geht das nicht???


an den Styles Standard und Extsel liegt es nicht, hab ich getestet.

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 24.06.03 08:00 
Doch, an den Stilattributen liegt es. :wink:
Schau mal ins PSDK:
PSDK hat folgendes geschrieben:
LB_SETSEL
An application sends an LB_SETSEL message to select a string in a multiple-selection list box.

Du brauchst LB_SETCURSEL, wenn man nur ein Item auswählen kann. Eigentlich hätte ich da wohl auch gestern drauf kommen können. :oops:
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Di 24.06.03 16:35 
Thx, werde ich gleich testen, und mich dann melden :D

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Di 24.06.03 17:13 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
        hwndListbox := CreateWindowEx(WS_EX_CLIENTEDGE or WS_EX_STATICEDGE, 'LISTBOX'nil, WS_VISIBLE or
          WS_CHILD, 88200200,
          hWnd, IDC_LISTBOX, hInstance, nil);

        SendMessage(hwndListbox, LB_SETCURSEL, 10);


Warum geht das nicht?

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Di 24.06.03 17:15 
Argggg...... Ich bin soooo schlau... Ich hab die Items erst nachdem ich sie selektieren wollte erstellt :autsch: :autsch: :autsch:

hat sich erledigt ;)

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 24.06.03 18:03 
Ab! Zur Strafe in die Ecke und schämen! :)
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Di 24.06.03 18:26 
Ich hab schon meinen Kopf gegen die Wand geschlagen, dass muss reichen ;)

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.