Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 579

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Проект создавался Delphi 7 + Win7.
При нажатии на Alt пропадают кнопки c формы.
Может кто сталкивался, объясните в чем проблема и как с ней бороться.

Причем если этот же проект запустить на ХР то кнопки не исчезают, но на Win7 глюк, все кнопки с формы исчезают, но только один раз.

Пробовал запускать на других компах с Win7 - то же самый глюк.

Примечание #1 (19 августа 2011, 13:17):
вот нашел тему http://qc.embarcadero.com/wc/qcmain.aspx?d=37403 но мне не помогло.
решил отказаться от button и использовать bitbtn

mr_switch Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: mr_switch (статус: Посетитель)
Вопрос отправлен: 16 августа 2011, 16:05
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 27; последнее сообщение — 19 августа 2011, 13:11; участников в обсуждении: 2.

Страницы: [1] [2] [Следующая »]

ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 09:16 [#1]:

а в проекте есть обработчики событий нажатия кнопок? было бы любопытно на них посмотреть..
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 12:28 [#2]:

кнопок очень много, но в обработчике нет кода который бы прятал кнопки
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 12:53 [#3]:

нет я бы хотел посмотреть события OnKeyPress OnKeyDown OnKeyUp
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 13:11 [#4]:

OnKeyPress OnKeyDown OnKeyUp этих события не описаны, есть только OnClick
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 13:14 [#5]:

я погуглил и нашел пару похожих тем. многие считают что это глюк win7, но как с ним бороться в своем приложении не чего не нашел.
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 13:16 [#6]:

а поточнее о версии винды у меня Win7 home basic x64 и win7 ultimate x32 на обоих стоит Delphi 7 и RadStudio xe но нигде подобного глюка я не встречал.
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 13:19 [#7]:

win7 ultimate х64, еще обнаружил что SpeedButton не исчезает, а обычный Button исчезает... но если навести мышку на то место то он появляется.
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 13:35 [#8]:

тогда ещё вопрос кнопки исчезают в когда нажимаете на alt или отпускаете?
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 13:35 [#9]:

еще кое что заметил, этот баг появляется если в uses включить xpman...
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 13:42 [#10]:

попробуте вот это:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  //lbl1.Caption:=IntToStr(key);
  if Key = 18 then
    Repaint;
end;
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 14:08 [#11]:

это событие формы и помогает только если фокус у самой формы... если допустим поставить курсор в edit то событие FormKeyDown не наступит, и баг остается...
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 14:10 [#12]:

а что мешает это событие добавить в едит?
прямо в инспекторе объектов на вкладке Events?
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 14:21 [#13]:

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

Попробовал, вообщем Repaint не помогает, как то странно все работает.
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 14:29 [#14]:

на форме в инспекторе объектов поставьте галочку на против KeyPreview, тогда KeyDown заработает
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 14:51 [#15]:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
SpeedButton1: TSpeedButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Memo1: TMemo;
Button2: TButton;
CheckBox1: TCheckBox;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
ComboBox1: TComboBox;
XPManifest1: TXPManifest;
procedure Edit2Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit2Change(Sender: TObject);
begin
ShowMessage('sda');
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
//Repaint;
//Form1.Repaint;
Button2.Repaint;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//ShowMessage(IntToStr(key));
if Key = 18 then
Repaint;
Form1.Repaint;
Button2.Repaint;
end;

end.
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 14:53 [#16]:

при нажатии на alt первый раз - кнопки исчезают... ври повторном нажатии появляется Button2 но не всегда...
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 15:03 [#17]:

А что если сделать так?
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
  //ShowMessage(IntToStr(key));
  if Key = 18 then
  begin
    Repaint;
    Form1.Repaint;
    Button1.Repaint;
    Button2.Repaint;
  end;
end;
mr_switch

mr_switch (статус: Посетитель), 17 августа 2011, 15:09 [#18]:

ну все тоже только еще одна кнопка появляется))) а что у вас получается?
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 16:10 [#19]:

а у меня такого глюка нету..
ierihon1

ierihon1 (статус: 1-ый класс), 17 августа 2011, 16:11 [#20]:

может просто ну его этот XP manifest?:-)

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:45
Выполнено за 0.02 сек.