Sender 转换TButtonItem TCategoryButtons
http://codeverge.com/embarcadero.cppbuilder.using/using-sender-to-determine-which/1068317
http://qc.embarcadero.com/wc/qcmain.aspx?d=70595
Using *Sender to determine which button triggered even
Sender 转换到TButtonItem
不能
TButtonItem *bi = static_cast<TButtonItem*>(Sender);
改用下面的方式
TCategoryPanel *CategoryPanel;
for (int i = ; i < TreeView1->Items->Count; i++)
{
if (TreeView1->Items->Item[i]->Level == )
{
CategoryPanel = new TCategoryPanel(CategoryPanelGroup1);
CategoryPanel->PanelGroup = CategoryPanelGroup1;
CategoryPanel->Caption = TreeView1->Items->Item[i]->Text;
}
TCategoryButtons * CategoryButtons;
CategoryButtons = new TCategoryButtons(CategoryPanel);
CategoryButtons->Parent = CategoryPanel;
CategoryButtons->Align = alTop;
CategoryButtons->Height = TreeView1->Items->Item[i]->Count * (this->Canvas->TextHeight("a") + );
CategoryButtons->ButtonOptions << boFullSize;
CategoryPanel->Height = CategoryButtons->Height + ;
TButtonCategory *ButtonCategory;
ButtonCategory = new TButtonCategory(CategoryButtons->Categories);
TButtonItem *bi;
// CategoryButtons->Categories->Items[0]->Items //TButtonCollection*
if (TreeView1->Items->Item[i]->HasChildren)
{
for (int j = ; j < TreeView1->Items->Item[i]->Count; j++)
{
bi = new TButtonItem(CategoryButtons->Categories->Items[]->Items);
bi->Caption = TreeView1->Items->Item[i]->Item[j]->Text;
}
}
}
CategoryPanelGroup1->CollapseAll();
void __fastcall TForm28::CategoryButtons1Categories0Items0Click(TObject *Sender)
{
TCategoryButtons *cb = static_cast<TCategoryButtons*>(Sender);
TButtonItem *bi = static_cast<TButtonItem*>(cb->SelectedItem);
Caption = bi->Caption;
}
CategoryButtons.BorderStyle=bsNone
CategoryButtons.ButtonHeight=40
CategoryButtons.ButtonWidth=100
Sender 转换TButtonItem TCategoryButtons的更多相关文章
- .Net 中的反射(序章) - Part.1
引言 反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助. 反射是一个庞大的话题,牵扯到的知识 ...
- 从零开始学ios开发(五):IOS控件(2),Slider
下面继续学习ios的其他控件,这次会使用到的控件有Slider,当然还有一些之前已经使用过的控件Label. 这次我们不新建一个project了,当然如果你愿意重新创建一个新的项目也完全可以,我们还是 ...
- 02-UIKit控件、MVC
目录: 一.控件使用 二.动态类型和静态类型 三.MVC 四.UIAlertView对话框 回到顶部 一.控件使用 1 事件源,事件处理方法有一个参数传进来,那个参数就是触发这个事件的时间源. UIS ...
- NET控件Designer架构设计
总体结构 Designer总体上由三大部分组成:View,ViewModel和Model,这个结构借鉴了流行的MVVM模式.这三部分的职责分工是: View 负责把ViewModel以图形的方式展现出 ...
- Solidity的三种合约间的调用方式 call、delegatecall 和 callcode
0x00 前言 Solidity(http://solidity.readthedocs.io/en/v0.4.24/) 是一种用与编写以太坊智能合约的高级语言,语法类似于 JavaScript. S ...
- c# 共享事件处理程序
使用同一个方法来处理多个Button实例的Click事件. 1.全选所有的Button,在事件添加中的Click点击事件中添加处理函数. 2.假如一个label控件用于显示按钮按下输出文本 3.处理函 ...
- WP8.1学习系列(第十九章)——事件和路由事件概述
我们将介绍在使用 C#.Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 作为编程语言并使用 XAML 进行 UI 定义时,针对 Windows 运行时应用的事件的编程概 ...
- tab键、快捷键、默认按钮、小数点输入的使用--四则运算
1. 窗体Tab键的顺序设置 选中窗体-视图-tab键顺序 label不适用tab键 2. 热键设置和快捷键设置 热键:无论光标在哪都可以 快捷键:出现界面后才能按 添加label 更改label的T ...
- DataTable 转换成 Json的3种方法
在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...
随机推荐
- jdreact相关操作注意事项
1:sublime 安装 babel 插件可以 识别react代码,变色,使用javascipt(babel): 2:热更新:import React, {Component } from 'reac ...
- 移动端 元素外面使用伪类after加边框 导致其内部元素无法选中
解决方法:给内部元素增加属性 position: relative; z-index: 3; 这样就能选中其内部元素了.
- MySQL--修改MySQL账号密码
##使用mysqladmin进行修改 mysqladmin -u username -h hostname password 'new password'; ##使用set命令进行修改 SET PAS ...
- [Python] 中文路径和中文文本文件乱码问题
情景: Python首先读取名为log.txt的文本文件, 其中包含有文件名相对路径信息filename. 随后Python调用shutil.copy2(src, dst)对该filename文件进行 ...
- C#继承基本控件实现自定义控件 (转帖)
自定义控件分三类: 1.复合控件:基本控件组合而成.继承自UserControl 2.扩展控件:继承基本控件,扩展一些属性与事件.比如继承Button 3.自定义控件:直接继承自Control 第一种 ...
- CC2530中串口波特率改为9600时单个数据包来不及接收的解决方案
在调试CC2530过程中发现波特率改为9600时,单个包仅有3个Byte时,接收DMA就会启动 因而数据包被强迫拆分成多个,显然只要将接收DMA启动延时做到足够大即可. 具体修改内容如下图所示: 经过 ...
- Thinkphp自动验证规则
其实说白了,这篇文章就是转给自己看的,省的下次用的时候满网络找了.有需要的同学也可以看看.自动验证是非常有用的一个技术.平常的验证基本就是,用户名是否为空,用户名是否重复,密码,重复密码是否一致.官方 ...
- java日期格式转换工具类
原文地址:http://blog.csdn.net/zhiweianran/article/details/7991531 package com.ace.backoffice.utils; impo ...
- pbuf类型和应用
下面的讨论仅限于RAW API. 按存储方式分类 1. PBUF_RAM 从一般性的Heap中分配.可用空间大小受MEM_SIZE宏控制.可看作一般意义上的动态内存. 用途: a) 将应用层中的待发送 ...
- winform 控件没有Cursor属性时的处理办法
开发程序时,有时我们需要鼠标滑过空件时鼠标变成手型,这样触发动作更为贴近实际.但是有的控件不存在Cursor这个属性,就需要我们自己实现. 具体方法: /// <summary> /// ...