2.9.8.9 リスト・ビューの大きいアイコンを使用したデスクトップ・メニューの作成

この例では、LargeIconビューのリスト・ビューは、アカウント、注文、および顧客の簡単なデスクトップ・スタイルのメニューとして動作します。アイコンをダブルクリックすると、オプションが起動します。リスト・ビューのViewStyleプロパティをIconに設定します。

例の動作を見るには、このコードをフォーム・コンポーネントにコピーします。

FUNCTION options(*DIRECT)

BEGIN_COM role(*EXTENDS #PRIM_FORM) HEIGHT(337) LEFT(381) TOP(135) WIDTH(325)
DEFINE_COM class(#PRIM_LTVW) name(#LTVW_1) DISPLAYPOSITION(1) FULLROWSELECT(True) HEIGHT(285) LEFT(8) PARENT(#COM_OWNER) SELECTIONSTYLE(Single) TABPOSITION(1) TOP(8) VIEWSTYLE(Icon) WIDTH(297)
DEFINE_COM class(#PRIM_LVCL) name(#LVCL_1) DISPLAYPOSITION(1) PARENT(#LTVW_1) SOURCE(#STD_TEXTS) WIDTH(50) WIDTHTYPE(Characters)
EVTROUTINE handling(#com_owner.Initialize)
INVOKE method(#com_owner.uLargeIcon) U_MENU(Accounts) U_ICON(#VI_FOLDR1)
INVOKE method(#com_owner.uLargeIcon) U_MENU(Orders) U_ICON(#VI_FOLDR2)
INVOKE method(#com_owner.uLargeIcon) U_MENU(Customers) U_ICON(#VI_FOLDR3)
ENDROUTINE
MTHROUTINE name(uLargeIcon)
DEFINE_MAP for(*INPUT) class(#std_TEXTS) name(#u_Menu)
DEFINE_MAP for(*INPUT) class(#PRIM_Icon) name(#u_Icon) pass(*by_reference)
CHANGE field(#STD_TEXTS) to('#U_MENU.VALUE')
ADD_ENTRY to_list(#LTVW_1)
SET com(#LTVW_1.CurrentItem) IMAGE(#u_Icon)
ENDROUTINE

EVTROUTINE handling(#ltvw_1.doubleclick) options(*NOCLEARMESSAGES *NOCLEARERRORS)
USE builtin(MESSAGE_BOX_SHOW) with_args(OK OK INFORMATION 'You have selected:'#STD_TEXTS)
ENDROUTINE
END_COM