AGB  ·  Datenschutz  ·  Impressum  







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

OnDropDown(TCombobox)

Ein Thema von danku · begonnen am 5. Jul 2006 · letzter Beitrag vom 6. Jul 2006
Antwort Antwort
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#1

OnDropDown(TCombobox)

  Alt 5. Jul 2006, 17:56
in einer combobox stehen 5einträge (5 datume? oder datums? )
sobald ein item angeklickt wurde, wird anhand von dem datum der tag auf einen button geschrieben.

Delphi-Quellcode:
ShortDateFormat := 'dddd';
  ...
datum := StrToDate(cbdatum.items[cbdatum.itemindex]);
Button2.Caption := DateToStr(datum);
Es wäre doch aber schon cooler, sobald man die Dropdownliste öffnet und darin navigiert, das (ähnlich wie mouseover also ohne anklicken) der tag auf den button steht.

Delphi-Quellcode:
...

begin
  with cbdatum do
  ShortDateFormat := 'dddd';

  days[1] := 'Sunday';
  ...
  datum := StrToDate(cbdatum.items[cbdatum.itemindex]);

  Button2.Caption := DateToStr(datum);
end;
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: OnDropDown(TCombobox)

  Alt 5. Jul 2006, 22:14
Hi,
Daten ist die Mehrzahl, ein Datum, zwei Daten. Gilt auch für die Daten in deinem Rechner, hier wäre die Einzahl Datum.

Da dies die einzigste von dir gestellte Frage war hoffe ich, die ist beantwortet

Ob ein solcher Wechsel cooler ist oder nicht, darüber kann man streiten. Finde einen Button mit einem Datum drauf klingt irgendwie merkwürdig (aber ich kenne den Kontext nicht).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: OnDropDown(TCombobox)

  Alt 5. Jul 2006, 22:34
Moin Danku,

wenn Du mit Tasten oder Mausrad navigierst kannst Du das so machen:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    //...
    procedure WMCOMMAND(var Msg : TMessage); message WM_COMMAND;
    //...
  end;

implementation

procedure TForm1.WMCOMMAND(var Msg: TMessage);
begin
  if Msg.WParamHi = CBN_SELCHANGE then begin
    if ComboBox1.ItemIndex > -1 then begin
      Button1.Caption := ComboBox1.Items[ComboBox1.ItemIndex];
    end;
  end;
  inherited;
end;
Direkt mit MouseOver habe ich nichts gefunden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: OnDropDown(TCombobox)

  Alt 5. Jul 2006, 23:09
ja das geht. aber das anzeigen beim einzelnen markieren mit aktiver dropdownlist geht noch nicht so wie ich mir das vorstelle. naja mal sehen was ich noch machen kann.
morgen stelle ich das fertige programm vor.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: OnDropDown(TCombobox)

  Alt 6. Jul 2006, 08:28
Hallo Chris,

die Einschränkungen bei deinem Code machen deinen Ansatz eigentlich überflüssig, da das gleiche Ergebnis auch durch das Ereignis OnChange() der ComboBox erreicht werden kann:

Delphi-Quellcode:
procedure TDemoForm.DateComboChange(Sender: TObject);
begin
  with DateCombo do
  if ItemIndex > -1 then
    StatusBar.SimpleText := LongDayNames[DayOfWeek(StrToDate(Items[ItemIndex]))];
end;
Um auf die Mausbewegungen reagieren zu können muss man sich wohl den Fenstergriff der drop-down Liste mit CB_GETCOMBOBOXINFO besorgen und diesem Fenster eine eigene WindowProc unterschieben (subclassing).

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:58 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