Error 发表于 2006-2-24 23:35
[求助]怎么删除事件处理程序
你好!<BR> 我在VC7中添加事件处理程序时错误的将本来应添加到A类的程序添加到了B类当中,最后才发现这个错误,但是又不知到怎么删除B类的这个多余的成员函数。<BR> 因为是利用系统辅助创建的这个函数,所以一定在其他地方也有所修改。有没有办法利用系统辅助删除这个函数呢?<BR> 谢谢高手指点。
冰镇柠檬汁儿 发表于 2006-2-27 10:39
<P>void InitializeComponent(void)<BR> {<BR> this->browserListView = new System::Windows::Forms::ListView();<BR> this->currentLabel = new System::Windows::Forms::Label();<BR> this->displayLabel = new System::Windows::Forms::Label();<BR> this->SuspendLayout();<BR> // <BR> // browserListView<BR> // <BR> this->browserListView->Location = System::Drawing::Point(0, 104);<BR> this->browserListView->Name = S"browserListView";<BR> this->browserListView->Size = System::Drawing::Size(512, 304);<BR> this->browserListView->TabIndex = 0;<BR> this->browserListView->Click += new System::EventHandler(this, browserListView_Click);<BR> // <BR> // currentLabel<BR> // <BR> this->currentLabel->Location = System::Drawing::Point(16, 40);<BR> this->currentLabel->Name = S"currentLabel";<BR> this->currentLabel->Size = System::Drawing::Size(144, 23);<BR> this->currentLabel->TabIndex = 1;<BR> // <BR> // displayLabel<BR> // <BR> this->displayLabel->Location = System::Drawing::Point(192, 40);<BR> this->displayLabel->Name = S"displayLabel";<BR> this->displayLabel->Size = System::Drawing::Size(288, 23);<BR> this->displayLabel->TabIndex = 2;<BR> // <BR> // Form1<BR> // <BR> this->AutoScaleBaseSize = System::Drawing::Size(6, 14);<BR> this->ClientSize = System::Drawing::Size(512, 405);<BR> this->Controls->Add(this->displayLabel);<BR> this->Controls->Add(this->currentLabel);<BR> this->Controls->Add(this->browserListView);<BR> this->Name = S"Form1";<BR> this->Text = S"Form1";<BR> <FONT color=#ff0033>this->Load += new System::EventHandler(this, Form1_Load);</FONT><BR> this->ResumeLayout(false);</P>
<P> }<BR>中,删掉你想删掉的控件的响应方法,比如注红的那行是<FONT color=#000000>Form1_Load的调用,不知道你问的是不是这个</FONT></P>
Error 发表于 2006-2-27 13:27
<P> 有点头晕啊![em06]</P>
<P> 在菜单资源上点击右键添加处理程序:</P>[attach]5334[/attach]<BR><BR> 然后VC会在类里面添加这么一个处理函数:<BR>[attach]5335[/attach]<BR><BR> 但是没有找到移除这个成员的方法。<BR> 因为VC会自动添加一些东西,比如:<BR>[attach]5336[/attach]<BR><BR> VC在其它地方可能也会添加一些,但是如果总是要手动在源文件里删除我觉得太不方便了,也太不安全了。<BR> 就是想询问什么办法可以自动删除这种?<BR>
冰镇柠檬汁儿 发表于 2006-2-28 09:56
直接按del试试
Error 发表于 2006-3-2 17:51
不行啊,能想到的办法都试过了,不知道有没有办法实现自动删除。[em13]
sorceress 发表于 2006-3-2 20:01
那估计是删不了了,我也试过了,我觉得它应该不影响什么吧
Error 发表于 2006-3-3 17:46
我觉得那会影响源代码的可读性,也可能会影响编译时的效率,甚至也可能影响程序执行时的效率。
冰镇柠檬汁儿 发表于 2006-3-5 08:24
这到不会,因为你添加的是一段已经由系统自动写好的代码,很有规范的,所以不会影响可读性。现在的计算机性能之强大,以至于不会由于你的这一小段代码而浪费大量的编译时间。至于程序执行时的效率,只要编译完之后,就不会再进行第二次编译,你这小段代码更不会对性能有什么实质性的影响,因为运行比编译快的多。(当然了除非你添加的这段代码有数干行代码)
迷迷糊糊 发表于 2006-7-27 13:18
打开该类的属性窗,进入事件页。<BR>打开对应控件左边的小Plus后,选择相应事件处理程序,右侧会出现下拉窗。里面就有删除命令,可以将该事件处理程序删除。[em01]
xmm7409 发表于 2006-8-17 21:34
删除
将该函数的定义,函数体及消息映射删除或注释就可以了。
页:
[1]