Krótkie i proste (mam nadzieję) pytanie. Jak uniemożliwić zaznaczenie np. buttonu? Przejrzałem chyba wszystkie właściwości w Object Inspectorze [glowa]
Miałem jeszcze drugie pytanie ale zapomniałem o nim :-P
W jaki sposób "wcisnąć" button na stałe (zrobić z niego coś w rodzaju CheckBoxa)?
Click > wciska sie > Click > podnosi się
Rejestrowanie się tu-koszmar ten post 20-07-2007 18:55
Krótkie i proste (mam nadzieję) pytanie. Jak uniemożliwić zaznaczenie np. buttonu? Przejrzałem chyba wszystkie właściwości w Object Inspectorze [glowa]
http://img165.imageshack.us/img165/1129/ramkarg5.png
Przejdź na górę strony
zgłość moderatorom Szukaj postów użytkownika
cytuj
Rejestrowanie się tu-koszmar ten post 20-07-2007 19:00Miałem jeszcze drugie pytanie ale zapomniałem o nim :-P
W jaki sposób "wcisnąć" button na stałe (zrobić z niego coś w rodzaju CheckBoxa)?
Click > wciska sie > Click > podnosi się
Jak ty chcesz programowac jak nie potrafisz się nawet tu zarejestrować? [rotfl] ;]
ad1. Wyłączyć focus? Można (chyba) przeżucić focus na nastepnu przy getFocus(?) ew. przy kliknięciu myszą lub hitem tabulatora. W każdym razie enabled na off i działa na 100%
ad2. do tego służy Speed Button
kmfk napisał(a)
ad1. Wyłączyć focus? Można (chyba) przeżucić focus na nastepnu przy getFocus(?) ew. przy kliknięciu myszą lub hitem tabulatora. W każdym razie enabled na off i działa na 100%
ad2. do tego służy Speed Button
- Jak wezmę enabled na off to button nie będzie działać. Próbowałem również tak:
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled:=false;
button1.Enabled:=true;
end;
Wtedy ramka mrugnie przy kliknięciu i zaraz znika (trochę kombinowanie na około :P) po czym odkryłem ze Speed Button nie zaznacza sie w ogóle bez żadnego kombinowania. Pozostanie więc mi używanie Speed Buttonów. Dzięki
@RedbaK
Odwal się może? To nie moja wina że e-mail aktywacyjny nie dochodzi.
albo machnac komponenta i w setfocusie zwracac, ze sie nie powiodlo
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TButtonWF = class(TButton)
private
procedure WMSetFocus(var Message: TWMPaint); message WM_SETFOCUS;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TButtonWF.WMSetFocus(var Message: TWMPaint);
begin
Message.Result := 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with TButtonWF.Create(self) do
begin
top := 100;
left := 100;
caption := 'Bez ramki';
parent := form1;
visible := true;
end;
end;
end.
A jak zrobic zeby po kliknieciu na forme, focus wylaczyl sie na wszystkich komponentach (buttony, radiobuttony, edity etc.) to znaczy zeby bylo tak jak po wlaczeniu programu (zaden przycisk nie ma fucusa)? Bo nie chce mi sie przerabiac wszystkich komponentów :-/
nevbie napisał(a)
A jak zrobic zeby po kliknieciu na forme, focus wylaczyl sie na wszystkich komponentach
Application.MainForm.FocusControl(nil);
nevbie napisał(a)
zeby bylo tak jak po wlaczeniu programu (zaden przycisk nie ma fucusa)
chyba coś Ci się pomyliło :> domyślnie jest tak że jak włączysz program to focus jest ustawiony na jednym z komponentów (jeśli jest to możliwe) :P