AGB  ·  Datenschutz  ·  Impressum  







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

ComboBox Text beim zuklappen beeinflussen

Ein Thema von Blizzard · begonnen am 8. Mär 2004 · letzter Beitrag vom 8. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Blizzard

Registriert seit: 4. Jan 2003
88 Beiträge
 
Delphi 6 Enterprise
 
#1

ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:01
Hi,
ich hab ne combobox bei der die einträge zusätzlich zu meinen daten auch noch aus ner beschreibung zu den daten bestehen also so nach dem motto "daten: Beschreibung". Jetzt möcht ich das nach dem ich einen eintrag selektiere das im text der combobox ned der ganze eintrag steht sondern nur die daten. Ich hab auch schon mal versuch im onchange ereigniss den text der combobox zu setzen aber das ignoriert er einfach.

Jemand ne idee wie ich das erreichen könnte ohne gleich das ganze ondrawitem ereignis neu schreiben zu müssen?

MfG und thx
Blizzard
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#2

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:31
du könntest doch einfach den Eintrag verändern!

Dazu kannst du ein Array mit den Einträgen mitführen, einem mit und einmal ohne Beschreibung

Beim Ein- und Ausklappen veränderst du den entsprechenden Eintrag mit Hilfe der beiden Arrays
  Mit Zitat antworten Zitat
Blizzard

Registriert seit: 4. Jan 2003
88 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:38
wo ich die daten herbekomme is mir schon klar ich hab jedem eintrag ein tobject zugeordnet in dem die ganzen daten gespeichert sind. das problem ist das ich den text der hinterher "auf" der combobox steht nicht beeinflussen kann.
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#4

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:40
TCombobox.Items
  Mit Zitat antworten Zitat
Benutzerbild von M-O-D
M-O-D

Registriert seit: 21. Feb 2004
Ort: Create(self)
74 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:44
Hi,

hab jetzt auch ne weile rumprobiert. Aber ne richtig elegante Lösung hab ich nicht gefunden. Mit nem Timer gehts aber (besser als nix):

Delphi-Quellcode:
procedure comboboxSelect(Sender: TObject);
begin
   Timer1.Enabled   := True;
end;

procedure Timer1Timer(Sender: TObject);
begin
//Timer Intervall hab ich auf 10 gestellt
   combobox.Text   := //Deine Anweisungen...
   Timer1.Enabled   := False;
end;
Wie gesagt, nich so doll, aber es geht erstmal

CU

[EDIT]Scheint aber nur mit dem Style: csDropDown zu funktionieren![/EDIT]
Ich lebe zwar über meine Verhältnisse, aber immer noch unter meinem Niveau...
  Mit Zitat antworten Zitat
Blizzard

Registriert seit: 4. Jan 2003
88 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:49
ich glaub du verstehst mich falsch:
also ich versuchs mal en bisserl besser zu erklären
ich hab items in meiner combobox die in etwa so aussehen
1. 5.22 : blablabla
2. 13.5 : blablabla
3. 8.3 : blablabla

so und wenn ich jetzt den zweiten eintrag auswähle soll in der text eigenschaft der combobox nicht 13.5 : blablabla stehen sondern nur 13.5 das bekomm ich allerdings ned hin, da wenn ich bei onchange oder onselect oder so den text auf 13.5 setzte delphi ihn durch das zuklapp ereignis wieder mit 13.5 : blablabla überschreibt.

ich hoff mal das war jetzt verständlicher
  Mit Zitat antworten Zitat
Benutzerbild von M-O-D
M-O-D

Registriert seit: 21. Feb 2004
Ort: Create(self)
74 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:52
Das is mir schon klar

nimm doch meine zwei Proceduren und probier es mal! ich habs mal schnell mit Copy() probiert und immer nur die ersten 5 Buchstaben anzeigen lassen, klappte wunderbar...

CU
Ich lebe zwar über meine Verhältnisse, aber immer noch unter meinem Niveau...
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#8

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 13:53
das hatte ich schon verstanden, meine beiden Beiträge sollten aber dennoch zur Lösung führen.

Ich habe ja nichts von Text gesagt. Ändere doch die Items!!
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 14:10
wenn das mit copy wie M.O.D sagt funktioniert ist das natürlich einfacher, aber hier mal das, was ich dir geschrieben habe:

funktioniert ebenfalls ohne probs. Musst allerdings im Objektinspektor bei Items auch noch 4 Zeilen reinschreiben, damit dieses Beispiel funktioniert!

Delphi-Quellcode:
var
  array1: array[0..3] of string;
  array2: array[0..3] of string;
implementation
procedure TForm1.ComboBox1Change(Sender: TObject);
var index: integer;
begin
  with Combobox1 do begin
       index:=ItemIndex;
       items[Index]:=array1[index];
       ItemIndex:=index;
  end;
end;

procedure TForm1.ComboBox1DropDown(Sender: TObject);
var index: integer;
begin
  with Combobox1 do begin
       index:=ItemIndex;
       items[index]:=array2[index];
       ItemIndex:=index;
  end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
combobox1.ItemIndex:=0;
end;

initialization
array1[0]:='null';
array1[1]:='eins';
array1[2]:='zwei';
array1[3]:='drei';
array2[0]:='null null';
array2[1]:='eins eins';
array2[2]:='zwei zwei';
array2[3]:='drei zwei';
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: ComboBox Text beim zuklappen beeinflussen

  Alt 8. Mär 2004, 14:44
Hallo,
hier kommt mein Vorschlag:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

const

  PM_COMBOBOX = WM_APP+1000;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Button1: TButton;
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure PMCOMBOBOX(var Msg : TMessage); message PM_COMBOBOX;
  public
    { Public-Deklarationen }
  end;

  THelpComboBox = class(TComboBox)
  public
    property EditHandle;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  // PostMessage wird vom Formualr erst verarbeitet, wenn die
  // ComboBox alle Messages verarbeitet hat.
  PostMessage(Handle,PM_COMBOBOX,0,0);
end;

procedure TForm1.PMCOMBOBOX(var Msg: TMessage);
var
  szBuffer : Array[0..120] of Char;
begin
  StrPCopy(szBuffer,Copy(ComboBox1.Items[ComboBox1.ItemIndex],1,Pos(':',ComboBox1.Items[ComboBox1.ItemIndex])-1));
  SendMessage(THelpComboBox(ComboBox1).EditHandle,WM_SETTEXT,0,Integer(@szBuffer));
end;

end.
I come from outer space to save the human race
  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 11:54 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