Текущий архив: 2003.09.11;
Скачать: CL | DM;
ВнизFocused Найти похожие ветки
← →
Help (2003-08-22 14:54) [0]Мастера, чего-то не пойму.
У кнопок есть св-во focused.
Делаю "button1.Focused:=true;"
Пишет "[Error] Unit1.pas(35): Left side cannot be assigned to"
Убираю ":" пишет
"[Error] Unit1.pas(35): ":=" expected but "=" found"
Не бить начинающего.
← →
Help (2003-08-22 14:56) [1]P.S. Это в CM_MouseEnter.
Procedure TForm1.WndProc(var message: TMessage);
begin
inherited;
case message.msg of
CM_MouseEnter: begin
if (message.LParam=integer(button1)) then
button1.Focused:true;
← →
horse (2003-08-22 14:58) [2]SetFocus
← →
Ketmar (2003-08-22 15:25) [3]2Help:
это в незнании матчасти. хэлп читать не пробовали? там английским по Windows написано, что read-only проперти.
← →
Help (2003-08-22 15:41) [4]Ну я же просил не бить.
Проблемма вот в чём.
На MouseEnter шрифт на кнопке меняется. Кнопок 5. То-есть в момент времени шрифт выделен только на одной кнопке.
Но стоит нажать на какую-либо кнопку как выделенным шрифт становится уже на двух: на той, что нажали и на той, на которую потом навудут мышь. Как сделать, чтобы и после нажатия кнопки потом выделялась-бы только одна кнопка (шрифт на ней).
Ещё раз - я только начал.
← →
panov (2003-08-22 15:43) [5]а код слабо привести?
← →
Паша (2003-08-22 15:47) [6]MouseExit меняй фонт взад
← →
Help (2003-08-22 16:06) [7]Я там ошибся в описании. Забыл "шрифт" поставить в "". Более точно.
В Событии MouseMove кнопок загружается картинка и кнопка подсвечивается (сама, использован скин). Так вот.
Кнопок 5. То-есть в момент времени подсвечена только одна кнопка.
Но стоит нажать на какую-либо кнопку как подсвеченными становится уже две: на той, что нажали и на той, на которую потом навудут мышь. Как сделать, чтобы и после нажатия кнопки потом выделялась-бы только одна кнопка.
Я делаю это в CM_MouseEnter
Procedure TForm1.WndProc(var message: TMessage);
begin
inherited;
case message.msg of
CM_MouseEnter:
begin
if (message.LParam=integer(button1)) then
button1.setfocus;
if (message.LParam=integer(button2)) then
button2.setfocus;
и т.д.
Но всё равно, нажатая кнопка остаётся выделенной.
← →
DiamondShark (2003-08-22 16:10) [8]Что значит "и на той, на которую потом навудут мышь"? В комп телепатор что-ли всстроен?
← →
Help (2003-08-22 16:24) [9]Навести могут на любую кнопку. Она подсветится, но та кнопка, на которой щёлкнули до этого, тоже будет подсвечена.(до тех пор, пока не нажали на какой-либо кнопке всё ОК).
А нужно - навёл курсор на кнопку - подсветилась, убрал -"погасла". А то получается, что две кнопки подсвечены одновременно.
Если непонятно,то пример.
Прога запускается. При перемещении курсора над кнопками они "подсвечиваются", но только одна - та, над которой курсор в данный момент. Нажали любую кнопку. После этого продолжаем наводить курсор на кнопки (не нажимая). При этом будут подсвечены две кнопки: та, на которую навели курсор и та, которую нажали до этого. То есть после нажатия выделены уже две кнопки.
← →
horse (2003-08-22 16:39) [10]Ну передай же ты фокус от нее, хотя бы форме: Form1.SetFocus
← →
Паша (2003-08-22 16:45) [11]type
TForm1 = class(TForm)
button1: TSpeedButton;
Button2: TSpeedButton;
private
{ Private declarations }
public
Procedure WndProc(var message: TMessage); override;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Procedure TForm1.WndProc(var message: TMessage);
begin
inherited;
case message.msg of
CM_MouseEnter:
begin
if (message.LParam=integer(button1)) then
button1.Font.Color:= clRed;
if (message.LParam=integer(button2)) then
button2.Font.Color:= clRed;
end;
CM_MOUSELEAVE:
begin
if (message.LParam=integer(button1)) then
button1.Font.Color:= clBlack;
if (message.LParam=integer(button2)) then
button2.Font.Color:= clBlack;
end;
end;
end;
end.
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.007 c