AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ComboBox: Breite der DropDown-Liste ändern

Ein Thema von Helmi · begonnen am 8. Jan 2007 · letzter Beitrag vom 9. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 19:16
Hallo Mädels ,

ich möchte mehrere Spalten in einer ComboBox anzeigen lassen und hab dafür den Code von den Schweizern.

Das funktioniert auch bestens.

Nur möchte ich auch die Breite der DropDown-Liste der ComboBox ändern.
Dafür gibt es von den Schweizern diesen Code.
Wenn ich nun die Zeile:
ComboBox1.Perform(CB_SETDROPPEDWIDTH, PIXEL_WIDTH, 0); in den oberen Code bei "ComboBox1DrawItem" als letzte Zeile einfüge, dann funktioniert das Ändern der Breite nicht.
Die DropDown-Liste bleibt gleich groß.

Geht der Code nicht, weil
Combobox1.Style := csOwnerDrawFixed; gemacht wurde?
Delphi-Quellcode:
case Antwort of
  ja : Wie könnt ich das anders realisieren?
  nein: Was mach ich falsch?
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#2

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 21:02
Hi,

nein, mach es nur einmal im FormActivate, das sollte eigentlich reichen.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 21:48
Zitat von thkerkmann:
nein, mach es nur einmal im FormActivate, das sollte eigentlich reichen.
Hallo,

das nutzt leider nichts.
Bleibt gleich groß
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 22:20
Hallo,

im OnCreate der Form in der Reihenfolge funktioniert es bei mir:
Delphi-Quellcode:
const
  PIXEL_WIDTH = 200;
begin
  Combobox.Style := csOwnerDrawFixed;
  with Combobox.Items do
    begin
      Add('first;second;third;');
      Add('column1;column2;column3;');
    end;
  ComboBox.Perform(CB_SETDROPPEDWIDTH, PIXEL_WIDTH, 0);
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#5

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 22:34
Hallo,

hattest du auch was im OnDrawItem drin?

Ich hatte deinen Code getestet - nur hat sich nichts verändert.
Es bleibt so groß wie die Combobox ist.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#6

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 22:47
Hallo,

ja, hatte in einem neuen Projekt die beiden Tipps der Schweitzer zusammengebaut.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 8. Jan 2007, 23:03
kannst mir mal dein projekt geben?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 9. Jan 2007, 08:35
Moin Lü

Ich habe einfach mal eine ComboBox genommen und nur das Teil eingebaut:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  cbx.Perform(CB_SETDROPPEDWIDTH, 200, 0);
end;
So klappt das schon.
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 9. Jan 2007, 08:49
Hallo,

anbei mal ein Testprogramm
zusammengesetzt aus den Codes der Schweizern
und so gehts nicht!

[EDIT]
Jetzt hab ich es rausgefunden - man kann die DropDown-Liste nicht kleiner machen als das ComboBox.Width ist - größer kein Problem!
[/Edit]
Angehängte Dateien
Dateityp: zip test_115.zip (207,5 KB, 21x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: ComboBox: Breite der DropDown-Liste ändern

  Alt 9. Jan 2007, 09:25

Man, man, man.
Da muss man erst einmal drauf kommen:

Delphi-Quellcode:
  With ComboBox1.Items Do
  Begin
    Add('################################');
    ComboBox1.Perform(CB_SETDROPPEDWIDTH, PIXEL_WIDTH, 0);
    Clear;
  End;
Vor Perform muss man einen Eintrag in Items so lang machen, dass es mindestens so lang ist, wie die Liste dann breit sein soll.


Viel Spaß noch.
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz