Host+DLL 모드에서 단축키를 사용하는 방법

WBOY
풀어 주다: 2016-08-08 09:33:13
원래의
1123명이 탐색했습니다.

Host+DLL 모드에서 단축키를 사용하는 방법

최근에 Host+DLL 플러그인 시스템을 작업하고 있습니다. 각 DLL 모듈은 기본 클래스 모듈인 TBaseForm을 상속한 다음 기본 클래스 모듈에서 F1 추가, F2 삭제, F3 변경 및 F4 확인과 같은 기능을 정의합니다. 바로가기 키로 정의되어 있습니다.

기본 프로그램에서 각 DLL 모듈은 PageControl을 통해 로드됩니다. 여러 모듈을 열고 F1을 누르면 시스템이 현재 활성화된 TabSheet 모듈이 아닌 처음으로 열린 새 모듈을 호출합니다.

기능적으로, 첫 번째 모듈에서 단축키를 등록한 후 후속 모듈에서 등록하면 무효화되는 것으로 나타났습니다. 나중에 TabSheet의 OnHide 이벤트와 onShow 이벤트에서 현재 모듈의 단축키를 취소하는 방법을 생각했습니다.

그런 다음 현재 모듈의 단축키를 연결하면 테스트가 성공했습니다! ! ! , 다음은 코드의 일부입니다.

<span> 1</span> <span>procedure</span> TBaseForm.bidingshortcut; <span>//</span><span>绑定快捷键</span> <span> 2</span> <span>begin</span> <span> 3</span> al_new.ShortCut:=TextToShortCut(<span>'</span><span>F5</span><span>'</span><span>); </span><span> 4</span> al_edit.ShortCut:=TextToShortCut(<span>'</span><span>F6</span><span>'</span><span>); </span><span> 5</span> al_<span>delete</span>.ShortCut:=TextToShortCut(<span>'</span><span>F7</span><span>'</span><span>); </span><span> 6</span> al_refdata.ShortCut:=TextToShortCut(<span>'</span><span>F8</span><span>'</span><span>); </span><span> 7</span> al_query.ShortCut:=TextToShortCut(<span>'</span><span>F3</span><span>'</span><span>); </span><span> 8</span> al_report.ShortCut:=TextToShortCut(<span>'</span><span>F2</span><span>'</span><span>); </span><span> 9</span> al_<span>export</span>.ShortCut:=TextToShortCut(<span>'</span><span>F10</span><span>'</span><span>); </span><span>10</span> al_import.ShortCut:=TextToShortCut(<span>'</span><span>F4</span><span>'</span><span>); </span><span>11</span> al_gridset.ShortCut:=TextToShortCut(<span>'</span><span>F9</span><span>'</span><span>); </span><span>12</span> <span>end</span><span>; </span><span>13</span> <span>14</span> <span>procedure</span> TBaseForm.unbidingshortcut; <span>//</span><span>解除绑定快捷键</span> <span>15</span> <span>begin</span> <span>16</span> al_new.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>17</span> al_edit.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>18</span> al_<span>delete</span>.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>19</span> al_refdata.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>20</span> al_query.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>21</span> al_report.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>22</span> al_<span>export</span>.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>23</span> al_import.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>24</span> al_gridset.ShortCut:=TextToShortCut(<span>'</span><span>none</span><span>'</span><span>); </span><span>25</span> <span>end</span>;
로그인 후 복사

그런 다음 호스트 프로그램의 onHide 및 onShow에서 각각 unbidingshortcut 및 biddingshortcut을 호출합니다.

여기에는 기본 클래스 변환 프로세스가 있습니다. 탭 시트의 태그에 현재 양식을 미리 저장했기 때문에 다음 변환만 수행하면 됩니다.

TBaseForm(TabSheet.tag).bidingshourtcut이 그 일을 해낼 것입니다.

위 내용은 단축키 사용법을 포함하여 Host+DLL 모드에서 단축키 사용법을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!