Hallo Leute,
ich habe ein kleines Problem. Ich schreibe für ein Blinden ein Programm. Dort mussen die ersten 3 Elemente der Combobox -->ComboBox1.Style:=csOwnerDrawFixed sein damit Virgo(BlindenSoftware) die Combobox als Aufklappliste sieht. Das 4 Element soll aber wiederrum zu ein Eingabefeld werden --> ComboBox1.Style:=csDropDown;
Mein Problem ist nun das wenn jemand ins 4 Element geht der Focus verschwindet und der Blinde nichts ändern kann im 4 Element der Combobox.
Ich hoffe es kann mir einer bei mein Problem helfen
mfg
Robert
ich habe ein kleines Problem. Ich schreibe für ein Blinden ein Programm. Dort mussen die ersten 3 Elemente der Combobox -->ComboBox1.Style:=csOwnerDrawFixed sein damit Virgo(BlindenSoftware) die Combobox als Aufklappliste sieht. Das 4 Element soll aber wiederrum zu ein Eingabefeld werden --> ComboBox1.Style:=csDropDown;
Mein Problem ist nun das wenn jemand ins 4 Element geht der Focus verschwindet und der Blinde nichts ändern kann im 4 Element der Combobox.
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
procedure FormCreate(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Select(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Text:='Standartwert';
ComboBox1.items.add('nein');
ComboBox1.items.add('Durch alleinstehendes Semikolon');
ComboBox1.items.add('Durch Originalseitenangabe');
ComboBox1.items.add('...');
ComboBox1.ItemIndex:=0;
end;
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if (Combobox1.ItemIndex=0)OR(Combobox1.ItemIndex=1)OR(Combobox1.ItemIndex=2) then
begin
if not (Key in[#26]) then
begin
Key := #0;
Windows.Beep(500, 100);
Windows.Beep(400, 100);
Windows.Beep(300, 100);
//Windows.Beep(200, 100);
//Windows.Beep(100, 100);
end
end
end;
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
if (Combobox1.ItemIndex=0)OR(Combobox1.ItemIndex=1)OR(Combobox1.ItemIndex=2) then
ComboBox1.Style:=csOwnerDrawFixed
else
begin
ComboBox1.Style:=csDropDown;
ComboBox1.Focused;
ComboBox1.ItemIndex:=3;
ComboBox1.SetFocus;
//ComboBox1.Refresh
//ComboBox1.ItemIndex:=3;
end
end;
end.
Ich hoffe es kann mir einer bei mein Problem helfen
mfg
Robert