Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
14-33804
Igor_thief
2003-08-22 13:48
2003.09.11
Как проверить ...


3-33488
BigError
2003-08-18 15:34
2003.09.11
QuantumGrid, MySQL - как заставить Cells сохранять данные сразу?


3-33431
off
2003-08-22 07:45
2003.09.11
Сбоит сервер FB


8-33691
volodya_
2003-05-14 17:34
2003.09.11
mp3 ->wav и обратно


1-33609
unreger
2003-09-01 13:21
2003.09.11
Как создать таймер в рантайм?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский