六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

通過鼠標右擊選擇TListBox中的選項

[摘要]有時,我們要在ListBox的彈出式菜單中通過ItemIndex顯示項目的有關信息。但是,在項目上右擊鼠標時,ItemIndex不會象左擊那樣被改變。這篇文章將通過例子來告訴你如何實現此功能。假設你有一個ListBox,填充有稱作Widgets的類:type TWidget = class(Tob...
有時,我們要在ListBox的彈出式菜單中通過ItemIndex顯示項目的有關信息。但是,在項目上右擊鼠標時,ItemIndex不會象左擊那樣被改變。這篇文章將通過例子來告訴你如何實現此功能。
假設你有一個ListBox,填充有稱作Widgets的類:

type TWidget = class(Tobject)
WidgetName : string;
WidgetStatus : boolean;
End;

Widgets : array [0..10] of TWidget

每一項WidgetName在ListBox中顯示出來。

你想要通過一個彈出式菜單來改變每一個Widget的狀態,其中彈出式菜單與ListBox的OnPopUp事件關聯。如果狀態是活動的,設置“Active”;如果不是活動的,不設置“Active”。單擊“Active”來改變狀態。

問題是:鼠標左鍵單擊ListBox會選擇一Widget,但用右鍵單擊(并顯示彈出菜單)時不會選擇。如果鼠標不在已選項上,彈出菜單顯示的將不是鼠標所在Widget的狀態,而是已選Widget的狀態。

幸運的是,ListBox的OnMouseDown比彈出式菜單的OnPopUp先被觸發。這樣,我們就能在彈出式菜單顯示之前用OnMouseDown事件設置ItemIndex。

TlistBox有一個方法:ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;
如果能在Pos座標處找到ListBox的一項,這一方法將返回這一項的Index。如果沒有找到任何項,且Existing值設為True,ItemAtPos將返回值-1,如果Existing值設為False,ItemAtPos將返回ListBox最后一項的Index值加1。

用這個方法結合OnMouseDown事件就解決了我們的問題:

OnMouseDown代碼:

procedure TForm1.WidgetListMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
MousePos : TPoint;
OverItemIndex : integer;

begin
MousePos.x := X;
MousePos.y := Y;

if Button = mbRight then
begin
OverItemIndex := WidgetList.ItemAtPos(MousePos,False);
WidgetList.ItemIndex:=OverItemIndex;
end;
end;


OnPopUp代碼:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
Index : integer;
begin
Index := WidgetList.ItemIndex;
PopUpMenuItemActive.Checked := Widgets[Index].WidgetStatus;
end;


彈出式菜單項"Active"的OnClick代碼:
procedure TForm1.PopUpMenuItemActiveClick(Sender: TObject);
var
Index : integer;
begin
Index := WidgetList.ItemIndex;
Widgets[Index].WidgetStatus := not Widgets[Index].WidgetStatus;
PopUpMenuItemActive.Checked:=not PopUpMenuItemActive.Checked;
end; 


主站蜘蛛池模板: 亚洲精品午夜在线观看 | 青青青青操| 伊人影片| 亚洲天堂男人 | 手机看片福利日韩 | 日本欧美一区二区三区视频 | 五月情网 | 天天干天天射天天爽 | 天天天天做夜夜夜做 | 日本高清午夜色wwwσ | 五月激情五月婷婷 | 在线免费亚洲 | 欧美视频在线观看网站 | 日本最新免费不卡二区在线 | 深爱婷婷 | 日韩成人在线免费视频 | 性欧美人与物videos另类 | 青草国产在线视频 | 欧美亚洲人成网站在线观看刚交 | 色.www| 日日夜夜婷婷 | 四虎影视在线影院在线观看 | 午夜性色视频 | 伊人网在线视频观看 | 五月激情综合丁香色婷婷 | 日韩在线不卡视频 | 亚洲人成影网站~色 | 午夜视频在线观看免费观看在线观看 | 天美蜜桃精东乌鸦果冻麻豆 | 日本高清在线播放一区二区三区 | 在哪里看毛片 | 亚洲 自拍 中文字幕 在线 | 一本dao| 一级做a爰片久久毛片免费 一级做a爰片久久毛片美女图片 | 四虎在线永久免费视频网站 | 天天草综合网 | 色爱综合网欧美 | 午夜不卡av免费 | 日日干日日干 | 青娱乐在线免费观看视频 | 天堂最新在线资源 |