|
Вопрос # 5 579/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Проект создавался Delphi 7 + Win7.
При нажатии на Alt пропадают кнопки c формы.
Может кто сталкивался, объясните в чем проблема и как с ней бороться.
Причем если этот же проект запустить на ХР то кнопки не исчезают, но на Win7 глюк, все кнопки с формы исчезают, но только один раз.
Пробовал запускать на других компах с Win7 - то же самый глюк.
Примечание #1 (19 августа 2011, 13:17):
 |
Вопрос задал: mr_switch (статус: Посетитель)
Вопрос отправлен: 16 августа 2011, 16:05
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 27; последнее сообщение — 19 августа 2011, 13:11; участников в обсуждении: 2.
Страницы: [1] [2] [Следующая »]
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 09:16 [#1]:
а в проекте есть обработчики событий нажатия кнопок? было бы любопытно на них посмотреть..
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 12:28 [#2]:
кнопок очень много, но в обработчике нет кода который бы прятал кнопки
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 12:53 [#3]:
нет я бы хотел посмотреть события OnKeyPress OnKeyDown OnKeyUp
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 13:11 [#4]:
OnKeyPress OnKeyDown OnKeyUp этих события не описаны, есть только OnClick
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 13:14 [#5]:
я погуглил и нашел пару похожих тем. многие считают что это глюк win7, но как с ним бороться в своем приложении не чего не нашел.
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 13:16 [#6]:
а поточнее о версии винды у меня Win7 home basic x64 и win7 ultimate x32 на обоих стоит Delphi 7 и RadStudio xe но нигде подобного глюка я не встречал.
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 13:19 [#7]:
win7 ultimate х64, еще обнаружил что SpeedButton не исчезает, а обычный Button исчезает... но если навести мышку на то место то он появляется.
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 13:35 [#8]:
тогда ещё вопрос кнопки исчезают в когда нажимаете на alt или отпускаете?
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 13:35 [#9]:
еще кое что заметил, этот баг появляется если в uses включить xpman...
|
|
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 (статус: Посетитель), 17 августа 2011, 14:08 [#11]:
это событие формы и помогает только если фокус у самой формы... если допустим поставить курсор в edit то событие FormKeyDown не наступит, и баг остается...
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 14:10 [#12]:
а что мешает это событие добавить в едит?
прямо в инспекторе объектов на вкладке Events?
|
|
mr_switch (статус: Посетитель), 17 августа 2011, 14:21 [#13]:
можно для все объектов добавить, только их много. но хотелось бы разобраться с XPManifest что он такого дописывает форме, что происходит такой глюк.
Попробовал, вообщем Repaint не помогает, как то странно все работает.
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 14:29 [#14]:
на форме в инспекторе объектов поставьте галочку на против KeyPreview, тогда KeyDown заработает
|
|
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 (статус: Посетитель), 17 августа 2011, 14:53 [#16]:
при нажатии на alt первый раз - кнопки исчезают... ври повторном нажатии появляется Button2 но не всегда...
|
|
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 (статус: Посетитель), 17 августа 2011, 15:09 [#18]:
ну все тоже только еще одна кнопка появляется))) а что у вас получается?
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 16:10 [#19]:
а у меня такого глюка нету..
|
|
ierihon1 (статус: 1-ый класс), 17 августа 2011, 16:11 [#20]:
может просто ну его этот XP manifest?
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|