首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于PopupMenu显示空白的有关问题

2013-02-05 
关于PopupMenu显示空白的问题如图所示,我用系统的TPopupMenu做的一个快捷菜单,有时候显示一片空白,鼠标移

关于PopupMenu显示空白的问题
关于PopupMenu显示空白的有关问题
如图所示,我用系统的TPopupMenu做的一个快捷菜单,有时候显示一片空白,鼠标移上去关于PopupMenu显示空白的有关问题就一项一项的显示。没有其它多余的代码,就是一个TFORM中放一个TPopupMenu,这个问题最先是在我的程序中出现的,当我的程序中出现这个问题的时候,系统所有的PopupMenu都会出现这个问题。小弟我跟踪到
procedure TPopupMenu.Popup(X, Y: Integer);
const
  Flags: array[Boolean, TPopupAlignment] of Word =
    ((TPM_LEFTALIGN, TPM_RIGHTALIGN, TPM_CENTERALIGN),
     (TPM_RIGHTALIGN, TPM_LEFTALIGN, TPM_CENTERALIGN));
  Buttons: array[TTrackButton] of Word = (TPM_RIGHTBUTTON, TPM_LEFTBUTTON);
var
  AFlags: Integer;
begin
  SetPopupPoint(Point(X, Y));
  SetBiDiModeFromPopupControl;
  DoPopup(Self);
  FItems.InternalRethinkHotkeys(False);
  FItems.InternalRethinkLines(False);
  FItems.RebuildHandle;
  AdjustBiDiBehavior;
  AFlags := Flags[UseRightToLeftAlignment, FAlignment] or Buttons[FTrackButton] or
    (Byte(FMenuAnimation) shl 10);
  TrackPopupMenu(FItems.Handle, AFlags, X, Y, 0 { reserved }, PopupList.Window, nil);
end;
就无能为力了。
另外我用:
for i := 0 to 10 do
    TThread.CreateAnonymousThread
      ( procedure()
begin 
while True do 
begin 
SendMessage(Handle, 1100, 200,200);
 sleep(100);
 end;
    end).Start();
消息处理:
procedure TForm6.WMPopupMain(var Msg: TMessage);//1100消息
begin
  PopupMenuMain.Popup(Msg.WParam, Msg.LParam);
end;
反复运行上面的代码可以重现上面所描述的现象。
小弟我求各位大大解析一下原因。
[解决办法]
是不是显示卡问题啊,到别计算机也是这样吗?
[解决办法]
是你电脑太慢了。。
[解决办法]
估计是windows中招了。
如方便的话,将工程发来测试下:190814570@qq.com
[解决办法]
你用的WIN7?
估计跟这个类似
http://bbs.csdn.net/topics/370218370

热点排行