Home  >  Article  >  Backend Development  >  The use of shortcut keys in Host+DLL mode, hostdll mode shortcut keys_PHP tutorial

The use of shortcut keys in Host+DLL mode, hostdll mode shortcut keys_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:13:21883browse

Use of shortcut keys in Host+DLL mode, shortcut keys in hostdll mode

Recently I am working on a Host+DLL plug-in system. Each DLL module inherits a base class module TBaseForm, and then defines functions such as adding F1, deleting F2, changing F3, and checking F4 in the base class module. Each The function defines a shortcut key,

Load each DLL module through PageControl in the main program. The problem comes. When I open multiple modules and press F1, the system calls not my currently activated TabSheet module, but the first one. New addition to open modules

function, it turns out that after the shortcut key is registered by the first module, the subsequent registration of the module will be invalid. Later I thought of a way, which is to cancel the shortcut keys of the current module in the OnHide event of TabSheet, and in the onShow event

Then associate the shortcut keys of the current module and the test was successful! ! ! , the following is part of the code:

<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>;

Then call unbidingshortcut and biddingshortcut respectively in onHide and onShow in the Host program.

There is a base class conversion process here, because I have saved the current form in the tabsheet tag in advance, so I only need to do the following conversion:

TBaseForm(TabSheet.tag).bidingshourtcut will do the trick.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/915784.htmlTechArticleThe use of shortcut keys in Host+DLL mode, hostdll mode shortcut keys. Recently, I am working on a Host+DLL plug-in system. , each DLL module inherits a base class module TBaseForm, and then the base class module...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn