Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не Down-кнопка 
:(
    Опции темы
santilaas
Дата 27.10.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Привет всем! 
Вопрос такой: нужно (пожалуйста, не спрашивайте зачем) сделать так, чтобы кнопка SpeedButton не переходила в состояние Down, даже при клике (в момент клика) по ней. Как это сделать?
Заранее спасибо!


--------------------
[
PM MAIL   Вверх
Alix
Дата 27.10.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 8
Всего: 23



Enabled := false или просто сделать картинку с изображение отжатой кнопки


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
santilaas
Дата 27.10.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



это не то, 
мне нужно, чтобы именно в момент клика на кнопку ничего (кроме того, что написано в OnClick-е) не происходило, т.е чтобы состояние кнопки до клика, в момент клика и после клика не менялось


--------------------
[
PM MAIL   Вверх
VICTAR
Дата 27.10.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 10
Всего: 80



А нужна обязательно SpeedButton?
PM MAIL   Вверх
santilaas
Дата 28.10.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Желательно SpeedButton, ну на край сойдет и Toolbutton


--------------------
[
PM MAIL   Вверх
lukas
Дата 28.10.2007, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



GroupIndex:=0, а сообствено по умолчанию она не обладает свойством переходить в down...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
santilaas
Дата 29.10.2007, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Цитата

GroupIndex:=0, а сообствено по умолчанию она не обладает свойством переходить в down... 

-
Цитата

мне нужно, чтобы именно в момент клика на кнопку ничего (кроме того, что написано в OnClick-е) не происходило, т.е чтобы состояние кнопки до клика, в момент клика и после клика не менялось 



--------------------
[
PM MAIL   Вверх
Rennigth
Дата 29.10.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



santilaas, А TPanel непойдет?  smile 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Alix
Дата 29.10.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 8
Всего: 23



Можно вот так. Но может ты все же расскажешь, зачем оно надо?
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;

type
  TSpeedButton = class(Buttons.TSpeedButton)
  private
    procedure WndProc(var Message: TMessage); override;
  end;

  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    SpeedButton2: TSpeedButton;
    BitBtn1: TBitBtn;
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TSpeedButton }

procedure TSpeedButton.WndProc(var Message: TMessage);
begin
  // не совсем корректно, правда, но главное - идея ;)
  if message.Msg = WM_LBUTTONDOWN then begin
    if assigned(OnClick) then
      OnClick(self);
    exit;
  end;

  inherited WndProc(message);
end;

{ TForm1}

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  caption := 'xxx';
end;

end.




--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
santilaas
Дата 29.10.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Цитата

santilaas, А TPanel непойдет?

- нет, объясню подробнее:
вообще, на самом деле я хочу сделать свое PopupMenu, которое выпадает при щелчке по кнопке;
делаю меню на основе отдельной формы без бордюра, форма открывается когда нужно и в нужном мне месте. 
НО возникли следующие проблемы:
- из каких стандартных компонентов сделать что-либо похожее на пункты стандартного PopupMenu и притом чтобы при перемещении по пунктам - пункты подсвечивались другим цветом?;
- как сделать чтобы моя форма-PopupMenu пряталась, когда пользователь нажимал бы кнопку мыши в другом (т.е не на самом меню) месте экрана? - сразу скажу OnDeactivate - не подходит - оно срабатывает только относительно моего приложения.
- как сделать, чтобы моя форма-PopupMenu не отбирала фокус у главного окна приложения, вернее чтобы у главного окна всегда был фокус, а у формы-PopupMenu он появлялся только при её открытии?    

В общем в идеале должно получиться меню а-ля выпадающий список для непоместившихся значков в "панели быстрого запуска" в Winde


--------------------
[
PM MAIL   Вверх
bober
Дата 30.10.2007, 17:21 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 20.2.2006

Репутация: нет
Всего: нет



Цитата

вообще, на самом деле я хочу сделать свое PopupMenu, которое выпадает при щелчке по кнопке;

Так вы хотите сделать именно свое или вас не устраивает стандартное?


Цитата

- из каких стандартных компонентов сделать что-либо похожее на пункты стандартного PopupMenu и притом чтобы при перемещении по пунктам - пункты подсвечивались другим цветом?;

TLabel, для изменения цвета использовать события onMouseLeave, onMouseEnter
PM MAIL   Вверх
bems
Дата 30.10.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



а чем не устраивает стандартное меню со своей отрисовкой?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Alix
Дата 30.10.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 8
Всего: 23





--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
santilaas
Дата 30.10.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Цитата

Так вы хотите сделать именно свое или вас не устраивает стандартное?

- именно свое, хотя я его бы не делал, если бы в стандартном PopupMenu все было

 
- Alix, все верно - это мой топик



--------------------
[
PM MAIL   Вверх
bems
Дата 30.10.2007, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Цитата(santilaas @  9.10.2007,  15:20 Найти цитируемый пост)

  -- PopupMenu было фикисрованной ширины, той которую задам я?
  -- PopupMenu открывалось относительно заданной координаты только вверх и влево?
  -- у каждого пункта PopupMenu было свое контекстное меню?
  -- самостоятельно можно было регулировать открытие и закрытие PopupMenu - т.е. чтобы оно не закрывалось свмо при нажатии на него

1)WM_MEASUREITEM
2)TrackPopupMenuEx, аргумент lptpm
3)TMP_RECURSE

Добавлено через 11 минут и 50 секунд
4)http://forum.vingrad.ru/index.php?showtopi...t&p=1168857

Это сообщение отредактировал(а) bems - 30.10.2007, 19:21


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.