Hallo,
ich steh grad auf dem Schlauch (na gut - ich sitz eher auf dem Schlauch)
ich hab folgende Procedure:
Delphi-Quellcode:
procedure RadioGroup_WordWrap(RadioGroup: TRadioGroup; const Align: DWORD;
WordWrap_Enabled: Boolean);
//Align-Werte: BS_TOP / BS_VCENTER / BS_BOTTOM / BS_LEFT / BS_RIGHT
var
i : Integer;
RadioButton_Style : DWORD;
RadioButton : TRadioButton;
begin
with RadioGroup do
begin
//alle Buttons abfragen
for i := 0 to Pred(Items.Count) do
begin
//RadioButton auslesen
RadioButton := Buttons[i];
//momentaner Status des RadioButtons auslesen
RadioButton_Style := GetWindowLong(RadioButton.Handle, GWL_STYLE);
If WordWrap_Enabled then
RadioButton_Style := RadioButton_Style or BS_MULTILINE or BS_CENTER
else
RadioButton_Style := RadioButton_Style and not BS_MULTILINE
and not BS_CENTER;
//neuer Style an RadioButton übergeben
SetWindowLong(RadioButton.Handle, GWL_STYLE, RadioButton_Style);
end;
//aktualisieren
Invalidate;
end;
end;
Wie man sieht, ist in dem Code "BS_Center" hart hinterlegt. Dies würd ich aber
nun gerne gegen Align austauschen um von "aussen", also beim Aufruf der
Procedure, angeben was für eine Ausrichtung ich brauche, z. B.:
BS_TOP / BS_VCENTER / BS_BOTTOM / BS_LEFT / BS_RIGHT
Wenn ich aber nun folgendes schreibe:
Delphi-Quellcode:
If WordWrap_Enabled then
RadioButton_Style := RadioButton_Style or BS_MULTILINE or Align
else
RadioButton_Style := RadioButton_Style and not BS_MULTILINE and not Align;
dann erhalte ich vom Compiler diese Meldung:
Zitat von
Compiler:
[Fehler] Unit1.pas(52): Operator ist auf diesen Operandentyp nicht anwendbar
Wie kann ich denn eine solche Konstante an eine Procedure übergeben und dann verarbeiten?