CToolBarCtrl基本内容控件
基本内容CToolBarCtrl
CObject |
└CCmdTarget |
└CWnd |
└CToolBarCtrl |
CToolBarCtrl类提供了Windows工具条通用控件的性能。这个控件(也就是CToolBarCtrl类)只对运行在Windows 95和Windows NT 3.51或更高版本下的程序来说才是可用的。
一个Windows工具条通用控件是一个矩形子窗口,它包含一个或多个按钮。这些按钮可以显示一个位图图像,一个字符串,或两者都有。当用户选择一个按钮时,它向该工具条的属主窗口发送一条命令消息。通常,工具条中的按钮对应于应用程序的菜单中的项;这些按钮为用户访问一个应用程序的命令提供了更为直接的方法。
CToolBarCtrl对象包含几个重要的内部数据结构:一个按钮图像列表或一个图像列表,一个按钮标签字符串列表和一个TBBUTTON结构的列表,该结构使一个图像和/或字符串与按钮的位置,风格,主题和命令ID相关联。这些数据结构的每一个都由一个从零开始的索引来引用。在你可以使用一个CToolBarCtrl对象之前,你必须设置这些数据结构。字符串列表只能被用作按钮标签;不能从按钮中检取字符串。
要使用一个CToolBarCtrl对象,通常你应该遵循下面的这些步骤:
1. | 构造该CToolBarCtrl对 象。 |
2. | 调用Create来创建Windows工具条通用控件并将它与该CToolBarCtrl对象连接。通过使用风格来指定工具条的风格,如对一个透明的工具条使用TBSTYLE_ TRANSPARENT,或对一个支持风格按钮的工具条使用TBSTYLE_DROPDOWN。 |
3. | 指明你希望按钮在工具条上如何显示: · 给按钮使用位图图像,通过调用AddBitmap将按钮位图添加到工具条中。 · 给按钮使用来自一个图像列表的图像,通过调用SetImageList,SetHotImageList,或SetDisabledImageList来指定图像列表。 · 给按钮使用字符串标签,通过调用AddString和/或AddStrings来将字符串添加到工具条中。 |
4. | 通过调用AddButtons将按钮结构添加到工具条中。 |
5. | 如果你希望在一个不是CFrameWnd的属主窗口中的工具条具有工具提示,则你必须在工具条的属主窗口中处理TTN_NEEDTEXT消息,就像在CToolBarCtrl:处理工具提示通知中描述的一样。如果工具条的父窗口是由CFrameWnd派生而来的,则你不用作任何额外的努力就可以显示工具提示,因为CFrameWnd提供了一个缺省的处理函数。 |
6. | 如果你希望能够让用户定制工具条,则在属主窗口中处理定制通知消息,就像在CToolBarCtrl:处理定制通知中描述的一样。 |
你可以使用SaveState来将一个工具条控件的当前状态保存在注册表中,用RestoreState来根据注册表中先前保存的信息恢复工具条的状态。除了在应用程序的使用之间保存工具条的状态,通常在用户开始定制该工具条之前应用程序会保存工具条的状态,以防用户后来想将工具条恢复到它的最初的状态。
为Internet Explorer 4.0或更新版提供的支持
要支持在Internet Explorer 4.0或更新版之后引入的性能,MFC提供了图像列表支持,为工具条提供了透明和平坦风格。
一个透明的工具条允许在工具条下的客户被透过工具条显示出来。要创建一个透明的工具条,要同时使用TBSTYLE_FLAT和TBSTYLE_TRANSPARENT风格。透明的工具条具有热点跟踪的特色;就是说,当鼠标指针移动到工具条的一个热点按钮上时,按钮的外观改变。只用TBSTYLE_FLAT风格创建的工具条将包含不透明的按钮。
图像列表支持使控件的缺省行为具有更大的灵活性,并支持热点图像和无效的图像。对透明的工具条使用GetImageList,GetHotImageList和GetDisabledImageList可以根据它的状态来操纵图像。
有关使用CToolBarCtrl的更多信息,参见“Visual C++程序员指南”中的“控件主题”和“使用CToolBarCtrl”。
#include <afxcmn.h>
请参阅:CToolBar
CToolBarCtrl类成员
构造
CToolBarCtrl | 构造一个CToolBarCtrl对象 |
Create | 创建一个工具条控件并将它与一个CToolBarCtrl对象连接 |
属性
IsButtonEnabled | 指示一个工具条控件中的指定按钮是否是有效的 |
IsButtonChecked | 指示一个工具条控件中的指定按钮是否被核选了 |
IsButtonPressed | 指示一个工具条控件中的指定按钮是否被压住 |
IsButtonHidden | 指示一个工具条控件中的指定按钮是否被隐藏 |
IsButtonIndeterminate | 指示一个工具条控件中的指定按钮的状态是否是不确定的(灰的) |
SetState | 设置一个工具条控件中的指定按钮的状态 |
GetState | 获取关于一个工具条控件中的指定按钮的状态的信息,比如它是有效的、被压住的,或是被核选的 |
GetButton | 获取一个工具条控件中的指定按钮的信息 |
GetButtonCount | 获取当前在该工具条控件中的按钮的数目 |
GetItemRect | 获取一个工具条控制中的按钮的边界矩形 |
GetRect | 获取一个特定工具条按钮的边界矩形 |
SetButtonStructSize | 指定TBBUTTON结构的大小 |
GetButtonSize | 获取的像素表示的工具条按钮当前宽度和高度 |
SetButtonSize | 设置要被添加到一个工具条控件中去的按钮的尺寸 |
SetBitmapSize | 设置要被添加到一个工具条控件中去的位图图像的尺寸 |
GetToolTips | 获取与此工具条控件相关联的工具提示控件(如果有的话)的句柄 |
SetToolTips | 将一个工具提示控件与该工具条控件关联 |
SetOwner | 设置接收来自工具条控件的通知消息的窗口 |
GetRows | 获取当前显示在工具条中的按钮的行数 |
SetRows | 设置显示在工具条中的按钮的行数 |
SetCmdID | 设置当指定按钮被按下时,要发送到属主窗口的命令标识符 |
GetBitmapFlags | 获取与工具条位图相关联的标志 |
GetDisabledImageList | 获取被一个工具条控件用来显示无效按钮的图像列表 |
GetHotImageList | 获取被一个工具条控件用来显示“热点”按钮的图像列表。当鼠标指针在一个热点控件上时,该控件被加亮显示 |
GetImageList | 获取被一个工具条控件用来显示缺省状态按钮的图像列表 |
GetStyle | 获取一个工具条控件当前使用的风格 |
GetMaxTextRows | 获取显示在一个工具条按钮上的文本行的最大行数 |
IsButtonHighlighted | 检验工具条控件的加亮状态 |
SetButtonWidth | 设置工具条控件中的按钮宽度的最大和最小值 |
SetDisabledImageList | 设置将要被工具条控件用来显示无效按钮的图像列表 |
SetHotImageList | 设置将要被工具条控件用来显示“热点”按钮的图像列表 |
SetImageList | 设置将要被工具条控件用来显示缺省状态按钮的图像列表 |
GetDropTarget | 获取一个工具条控件的IDropTarget接口 |
SetIndent | 设置一个工具条控件中的第一个按钮的缩排 |
SetMaxTextRows | 设置一个工具条按钮所显示的最大文本行数 |
SetStyle | 设置一个工具条控件的风格 |
GetAnchorHighlight | 获取一个工具条的固定的加亮设置 |
SetAnchorHighlight | 设置一个工具条的固定的加亮设置 |
GetHotItem | 获取一个工具条中的热点项的索引 |
SetHotItem | 设置一个工具条中的热点项的索引 |
GetInsertMark | 获取工具条的当前插入标记 |
SetInsertMark | 设置工具条的当前插入标记 |
GetMaxSize | 获取工具条中的所有可视按钮和分隔线的总的尺寸 |
InsertMarkHitTest | 获取一个工具条中的某个点的插入标记信息 |
GetExtendedStyle | 获取一个工具条控件的扩展风格 |
SetExtendedStyle | 设置一个工具条控件的扩展风格 |
GetInsertMarkColor | 获取用来绘制工具条的插入标记的颜色 |
SetInsertMarkColor | 设置用来绘制工具条的插入标记的颜色 |
MapAccelerator | 将一个加速键映射到一个工具条按钮 |
MoveButton | 将一个按钮从一个索引移动到另一个索引 |
HitTest | 确定一个点位于一个工具条控件的什么地方 |
操作
EnableButton | 使一个工具条控件中的按钮有效或无效 |
CheckButton | 核选或清除一个工具条控件中的指定按钮 |
PressButton | 按下或释放一个工具条控件中的指定按钮 |
GetButtonInfo | 获取工具条中的一个按钮的信息 |
SetButtonInfo | 设置工具条中的一个按钮的信息 |
SetDrawTextFlags | 设置Win 32中DrawText功能的标志,该功能通常根据标志设置的指定矩形、格式设置文本 |
HideButton | 隐藏或显示一个工具条控件中的指定按钮 |
Indeterminate | 设置或清除一个工具条控件中的指定按钮的不确定(灰的)状态 |
AddBitmap | 将一个或更多个位图按钮图像添加到一个工具条控件可用的按钮图像列表中 |
AddButtons | 将一个或多个按钮添加到一个工具条按钮中 |
InsertButton | 在一个工具条控件中插入一个按钮 |
DeleteButton | 从该工具条控件中删除一个按钮 |
CommandToIndex | 获取与指定的命令标识符相关联的按钮的从零开始的索引 |
RestoreState | 恢复该工具条控件的状态 |
MarkButton | 设置在一个工具条控件中给定的高亮状态 |
LoadImages | 将位图定位到工具条控件的图像列表中 |
SaveState | 保存该工具条控件的状态 |
Customize | 显示CustomizeToolbar对话框 |
AddString | 将作为一个资源ID传递的新字符串添加到工具条的内部字符串列表中 |
AddStrings | 将一个或多个新字符串添加到工具条的内部字符串列表中,是通过传递指向这些用.空字符分隔的字符串的缓冲区的指针来传递这些字符串的 |
AutoSize | 调整一个工具条控件的尺寸 |
CToolBarCtrl:处理工具提示通知
当你指定工具条具有TBSTYLE_TOOLTIPS风格时,该工具条创建并管理一个工具提示控件。一个工具提示是一个小的弹出窗口,该窗口包含了一行用于描述一个工具条按钮的文本。通常该工具提示是被隐藏的,只有当用户将光标放在一个工具条按钮上并停留大概半秒时间时它才显示出来。工具提示显示在光标的附近。
在工具提示被显示之前,TTN_NEEDTEXT通知消息被发送给该工具条的属主窗口,以获取对应于该按钮的描述文本。如果该工具条的属主窗口是一个CFrameWnd窗口,则不需要任何额外的工作就会显示工具提示,因为CFrameWnd有一个缺省的TTN_NEEDTEXT通知处理函数。如果该工具条的属主窗口不是由CFrameWnd派生而来的,比如是一个对话框或格式视,则你必须在你的属主窗口的消息映射中添加一项,并在消息映射中提供一个通知处理函数。下面就是要被添加到你的属主窗口的消息映射:
ON_NOTIFY_EX( TTN_NEEDTEXT, 0, memberFxn )
memberFxn | 当这个按钮的文本需要显示时将被调用的成员函数。 |
注意,一个工具提示的id总是0。
除了TTN_NEEDTEXT通知,一个工具提示控件可以向一个工具条控件发送下列通知:
通知消息 | 含义 |
TTN_NEEDTEXTA | 需要ASCII文本的工具提示控件(只在Win95下) |
TTN_NEEDTEXTW | 需要UNICODE文本的工具提示控件(只在Windows NT下) |
TBN_HOTITEMCHANGE | 表示热点(被加亮的)项已经改变了 |
NM_RCLICK | 表示用户用鼠标右键单击一个按钮 |
TBN_DRAGOUT | 表示用户点击按钮并拖动指针离开了按钮。它支持应用程序实现对一个工具条按钮的拖放。但接收到这个通知时,应用程序将开始拖放操作 |
TBN_DROPDOWN | 表示用户已经点击了一个使用TBSTYLE_DROPDOWN风格的按钮 |
TBN_GETOBJECT | 表示用户已经将指针移动到了一个使用TBSTYLE_DROPDOWN风格的按钮上 |
处理函数的例子和有关使能工具提示的更多信息,参见“Visual C++程序员指南”中的“工具提示”。
CToolBarCtrl:处理定制通知
一个Windows工具条通用控件具有内在的定制特征,包括一个系统定义的定制对话框,用来让用户插入、删除,或重新安排工具条按钮。应用程序决定定制是否有效,并控制用户对该工具条定制的限度。
你可以通过给予工具条CCS_ADJUSTABLE风格来使这些定制特征对于用户来说是可用的。此定制特征允许用户将一个按钮拖动到一个新的位置,或通过拖动按钮离开工具条来删除这个按钮。另外,用户可以双击工具条来显示Customize Toolbar对话框,让用户添加、删除,或重新安排工具条按钮。应用程序可以通过使用Custoimize成员函数来显示对话框。
在定制过程中的每一步,工具条控件都向父窗口发送通知消息。如果用户按住SHIFT键并开始拖动一个按钮,则工具条自动处理这个拖动操作。工具条发送TBN_QUERYDELETE通知消息给父窗口,以确定是否应该删除该按钮。如果父窗口返回FALSE,则这个拖动操作结束。否则,工具条捕捉鼠标输入并等待用户释放鼠标按钮。
当用户释放鼠标按钮时,工具条控件确定鼠标光标所在的位置。如果该光标的位置是在工具条之外,则按钮被删除。如果光标位于另一个工具条按钮上,则工具条向其父窗口发送TBN_QUERYINSERT通知消息,以确定是否要将一个按钮插入在给定按钮的左边。如果父窗口返回TRUE,则该按钮被插入;否则,不插入。工具条发送TBN_TOOLBARCHANGE通知来表示拖动操作结束。
如果用户在没有按下SHIFT键的情况下开始一次拖动操作,则工具条控件发送TBN_BEGINDRAG通知消息给属主窗口。一个实现了自己的按钮拖动代码的应用程序可以使用这个消息作为开始一次拖动操作的信号。工具条发送TBN_ENDDRAG通知消息来表示拖动操作结束。
当用户通过使用Customize Toolbar对话框来定制一个工具条时,该工具条控件发送通知消息。在用户双击工具条之后,但在对话框被创建之前,该工具条发送TBN_BEGINADJUST通知消息。然后,工具条开始发送一系列TBN_QUERYINSERT消息,以确定该工具条是否允许插入按钮。当父窗口返回TRUE时,该工具条停止发送TBN_QUERYINSERT通知消息。如果父窗口没有对任何按钮返回TRUE,则工具条销毁该对话框。
接着,工具条控件通过为工具条中的每一个按钮发送一个TBN_QUERYDELETE通知消息来确定是否可以从工具条中删除某个按钮。父窗口返回TRUE则表示可以删除该按钮;否则,父窗口返回FALSE。工具条将所有的按钮都添加到对话框中,但是将那些不能删除的按钮变灰。
不管什么时候,当工具条控件需要有关Customize Toolbar对话框中的某个控件的信息时,它就发送TBN_GETBUTTONINFO通知信息,并指定它想获取其信息的按钮的索引,以及一个TBNOTIFY结构的地址。父窗口必须用相关的信息填充该结构。
Customize Toolbar对话框还包括一个Help按钮和一个Reset按钮。当用户选择Help按钮时,工具条控件发送TBN_CUSTHELP通知消息。父窗口应该通过显示帮助信息来作出响应。当用户选择Reset按钮时,对话框发送TBN_RESET消息。这个消息表示工具条要再次初始化这个对话框。
这些消息都是WM_NOTIFY消息,通过向你的属主窗口的消息映射中添加下列形式的消息映射项,你可以在你的属主窗口中处理它们。
ON_NOTIFY(wNotifyCode, idControl,memberFxn)
wNotifyCode | 通知消息标识符代码,比如TBN_BEGINADJUST。 |
idControl | 发送通知的控件的标识符。 |
memberFxn | 当这个通知被接收时要被调用的成员函数。 |
你的成员函数应该用下面的原形来声明:
afx_msg void memberFxn( NMHDR* pNotifyStruct, LRESULT* result );
如果通知消息的处理函数返回一个值,则处理函数应该将这个值存放在由result指向的LRESULT中。
对每一个消息,pNotifyStruct指向一个NMHDR结构或一个TBNOTIFY结构。
这些结构被描述如下:NMHDR结构包含了下列成员:
typedef struct tagNMHDR
{
HWND hwndFrom; // 发送消息的控件的句柄
UINT idFrom; // 发送消息的控件的标识符
UINT code; // 通知代码,参见下面
} NMHDR;
hwndFrom | 正发送通知的控件的窗口句柄。要将这个句柄转换为一个CWnd指针,可以使用CWnd::FromHandle。 |
idFrom | 发送通知的控件的标识符。 |
code | 通知代码。这个成员可以是一个特定于一个控件类型的值,比如TBN_BEGINADJUST 或TTN_NEEDTEXT,或者它可以是下面列出的普通通知值中的一个: · NM_CLICK 用户在控件中单击了鼠标的左按钮。 · NM_DBLCLK 用户在控件中双击了鼠标的左按钮。 · NM_KILLFOCUS 控件失去了输入焦点。 · NM_OUTOFMEMORY 由于没有足够的可用内存,控件无法完成一次操作。 · NM_RCLICK 用户在控件中单击了鼠标的右按钮。 · NM_RDBLCLK 用户在控件中双击了鼠标的右按钮。 · NM_RETURN 控件拥有输入焦点,并且用户按下了ENTER键。 · NM_SETFOCUS 控件已经接收了输入焦点。 TBNOTIFY结构包含下列成员: typedef struct { NMHDR hdr; // 对所有WM_NOTIFY消息都通用的信息 int iItem; // 与通知相关联的控件的的索引 TBBUTTON tbButton; // 与通知相关联的控件的信息 int cchText; // 按钮文本中的字符数 LPSTR lpszText; // 按钮文本的地址 } TBNOTIFY, FAR* LPTBNOTIFY; |
hdr | 对所有WM_NOTIFY消息都通用的信息。 |
iItem | 与通知相关联的控件的的索引。 |
tbButton | 包含与通知相关联的工具条控件信息的BBUTTON结构。 |
cchText | 按钮文本中的字符数。 |
lpszText | 指向按钮文本的指针。 |
工具条发送下列信息:
· | TBN_BEGINADJUST | 当用户开始定制一个工具条控件时发送此通知。指针指向的NMHDR结构包含了有关这个通知的信息。处理程序不需要返回任何值。 |
· | TBN_BEGINDRAG | 当用户开始拖动一个工具条控件中的按钮时发送此通知。指针指向一个TBNOTIFY结构。iItem成员包含了被拖动的按钮的从零开始的索引。处理程序不需要返回任何特定的值。 |
· | TBN_CUSTHELP | 当用户在Customize Toolbar对话框中选择了Help按钮时发送此通知。没有返回值。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_ENDADJUST | 当用户停止定制有关工具条时发送此通知。指针指向一个NMHDR结构,该结构包含了有关此通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_ENDDRAG | 当用户停止拖动一个工具条控件中的按钮时发送此通知。指针指向一个TBNOTIFY结构。iItem成员包含了被拖动的按钮的从零开始的索引。处理程序不需要返回任何特定的值。 |
· | TBN_GETBUTTONINFO | 当用户正在定制一个工具条控件时发送此通知。工具条使用这个通知消息来获取Customize Toolbar对话框需要的信息。指针指向一个TBNOTIFY结构。iItem成员指定了一个按钮的从零开始的索引。lpszText和cchText成员指定当前按钮文本的地址和以字符数表示的长度。应用程序应该用有关这个按钮的信息来填充该结构。如果按钮的信息被拷贝到了结构中,则返回TRUE;否则就返回FALSE。 |
· | TBN_QUERYDELETE | 当用户正在定制一个工具条时发送此消息,以确定一个按钮是否可以被从工具条控件中删除。指针指向一个TBNOTIFY结构。iItem成员包含了要被删除的按钮的从零开始的索引。如果允许该按钮被删除则返回TRUE;否则返回 FALSE来禁止该按钮被删除。 |
· | TBN_QUERYINSERT | 当用户正在定制一个工具条控件时发送此通知,以确定一个按钮是否可以被插入到指定按钮的左边。指针指向一个TBNOTIFY结构。iItem成员包含了要被插入的按钮的从零开始的索引。如果允许一个按钮被插入到给定按钮的前面,则返回TRUE;否则返回FALSE来禁止该按钮被插入。 |
· | TBN_RESET | 当用户重新设置Customize Toolbar对话框时发送此通知。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_TOOLBARCHANGE | 在用户定制完一个工具条控件之后发送此通知。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |
CToolBarCtrl基本内容控件的更多相关文章
- C# 给Word文档添加内容控件
C# 给Word文档添加内容控件 在MS Word中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片.日期.列表或格式化的文本等),从而创建一个结构化的word ...
- 《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
VS2005下,添加了母版页这个控件,我们可以讲N个页面中共同的部分放在母版页来实现,并让WEB窗体集成自我们的母版页,就可以让我们的站点具有统一的风格了.在VS2005SP1之前的版本中,我们只能创 ...
- 重新想象 Windows 8 Store Apps (3) - 控件之内容控件: ToolTip, Frame, AppBar, ContentControl, ContentPresenter; 容器控件: Border, Viewbox, Popup
原文:重新想象 Windows 8 Store Apps (3) - 控件之内容控件: ToolTip, Frame, AppBar, ContentControl, ContentPresenter ...
- WPF自学入门(六)WPF带标题的内容控件简单介绍
在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什 ...
- WPF 10天修炼 第五天- 内容控件
WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Conte ...
- word 内容控件属性编辑
场景: 别人发给自己一份word模板,基于统一性,里面包含了很多“内容控件”,一般情况下,只需要根据内容控件进行编辑即可,但如果想对内容控件本身做编辑操作,例如删除等. 操作: 单击 文件>选项 ...
- WPF知识点全攻略05- XAML内容控件
此处简单列举出布局控件外,其他常用的控件: Window:WPF窗口 UserControl:用户控件 Page:页 Frame:用来浏览Page页 Border:嵌套控件,提供边框和背景. Butt ...
- WPF 入门笔记之控件内容控件
一.控件类 在WPF中和用户交互的元素,或者说.能够接受焦点,并且接收键盘鼠标输入的元素所有的控件都继承于Control类. 1. 常用属性: 1.1 Foreground:前景画刷/前景色(文本颜色 ...
- C# 读取Word内容控件
在Word中,借助内容控件,可设计出具有特定功能的文档或模板.以下表格中简单介绍了几种常用的内容控件. 名称 简介 下拉列表内容控件 下拉列表包含了一个预先定义好的列表.和组合框不同的是下拉列表不允许 ...
随机推荐
- 图片大于div时的居中显示
当图片大于div时,想要图片居中显示,如果图片等比例缩小可能会导致图片不能填充整个div,如果直接将图片不设置宽高,将其外层div设置overflow:hidden:这时即使外层div设置了水平垂直居 ...
- 【代码笔记】Java常识性基础补充(二)——数组、ArrayList集合、ASCII编码、 eclipse基础操作、eclipse调试、eclipse项目导入、eclipse快捷键
1.0 如何定义数组以及访问数组中的元素,如下所示.ArrayDemo01.java public class ArrayDemo01 { public static void main(String ...
- 使用Calendar加一天,减一天
public class Test { public static void main(String[] args) { Calendar c=Calendar.getInstance(); Simp ...
- 子div设置float后会导致父div无法自动撑开
本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记 注: 文章部分转载 彩泉 - 博客园 原因:内部的DIV因为float:l ...
- 服务器端渲染VS浏览器端渲染
1)浏览器渲染和服务器渲染区别:何为渲染?如果我们只是想显示一堆不变的数据,那么我们直接写一个a.html丢到服务器上让客户端访问就可以了.但这是基本不可能的事情,数据一般是变化的.你不可能为每套数据 ...
- 机智的Popup,带着简单的图表感觉酷酷的
之前有提过用 InfoTemplate 类对 FeatureLayer 的基本信息进行展示,今天为大家介绍 esri/dijit/Popup 的使用,这东西还有 简单的图表展示功能呢! <!DO ...
- mongoDB BI 分析利器 - PostgreSQL FDW (MongoDB Connector for BI)
背景 mongoDB是近几年迅速崛起的一种文档型数据库,广泛应用于对事务无要求,但是要求较好的开发灵活性,扩展弹性的领域,. 随着企业对数据挖掘需求的增加,用户可能会对存储在mongo中的数据有挖掘需 ...
- VC添加文件到工程出错问题--FileTool.dll
原文:http://blog.csdn.net/bingdianlanxin/article/details/45112737 在我们的软件开发中,经常需要导入其他文件到我们的工程. 一般,我们会选择 ...
- Sqlite 数据库分页查询(ListView分页显示数据)
下面介绍一下我的这个demo. 流程简述: 我在raw文件夹下面放了名称为city的数据库,里面包含全国2330个城市,以及所属省,拼音简写等信息. 首先 在进入MainActivity的时候,创建数 ...
- arcgis 线段合并
对于上面这种这种有一个字段相同的 线段,使用 使用后生成的矢量如下