FROM: http://blog.csdn.net/seamanjiang/archive/2005/10/16/504855.aspx
have wrote a notification bubble with text input control for user to input there email.(MFC)
Code:
|
#define
IDS_DEFAULTHTMLMESSAGE _T("<html><body><form id='ads'
name='ads' action=''><p> pls input your email <input
type='text' name='email'><input type='button' name='cmd:10'
value='Ok' ></p></form></body></html>");
pndAdd = (SHNOTIFICATIONDATA*)malloc(sizeof(SHNOTIFICATIONDATA));
pndAdd->dwID = 4711;
pndAdd->clsid = guidPPCAlertsApp;
pndAdd->npPriority = SHNP_INFORM;
pndAdd->csDuration = 20;
pndAdd->hwndSink = this->m_hWnd
pndAdd->pszHTML = IDS_DEFAULTHTMLMESSAGE;
pndAdd->hicon = m_hNotifactionIcon;
pndAdd->cbStruct = sizeof(SHNOTIFICATIONDATA);
pndAdd->pszTitle = IDS_DEFAULTTITLE;
pndAdd->grfFlags = SHNF_FORCEMESSAGE;
SHNotificationAdd(pndAdd);
........
|
as
we known, we use WM_COMMAND to handle Command Button Click,but when we
got the click, how should i do for getting the text that user input in
the html control?
Code:
|
BOOL CPOutlookTestDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
if(wParam==10){
SHNotificationRemove(&guidPPCAlertsApp, 4711);
delete pndAdd;
return true;
}
return CPOutlookTestDlg::OnCommand(wParam,lParam);
}
|
thanks.
seaman
When
you call SHNotificationAdd the call is asynchronous and the return
value indicates if the notification was successfully added.
To receive return values from the notification bubble itself there are several ways.
1. Most bubbles have buttons, as in the example:
<input type=button name='cmd:10' value='Ok'>
In this case when the user clicks the 'OK' button your sink window will receive a WM_COMMAND with a wParam of 10
2. Bubbles may also contain links which will send you a WM_COMMAND as well - from the example:
<a href=\"cmd:11\">Test Link</a>
3.
Finally you can have a form in your HTML and have it submitted back to
your sink window. The msdn example doesn't appear to show this properly
but here's an example:
<form method='get'
action='TestBubble://Test'><table width=100% cellspacing=0
cellpadding=0><tr><td colspan=2><b>Choose a
fruit:</b><p><input type='radio' value='0' id='Apples'
checked name='Fruit'><label
for='Apples'>Apples</label><br><input type='radio'
value='1' id='Oranges' name='Fruit'><label
for='Oranges'>Oranges</label></p></td><td><input
type='submit' value='Submit'
name='Submit'></td></tr><tr><td
width=42%%><a
href='cmd:12288'>Settings</a></td></tr></table></form>"
When the submit button is pressed your sink window will receive a WM_NOTIFY with a NMSHN structure:
typedef struct _NMSHN
{
NMHDR hdr;
LPARAM lParam;
DWORD dwReturn;
union
{
LPCTSTR pszLink;
BOOL fTimeout;
POINT pt;
};
} NMSHN;
typedef struct tagNMHDR
{
HWND hwndFrom;
UINT idFrom;
UINT code; // NM_ code
} NMHDR;
typedef NMHDR FAR * LPNMHDR;
The
hdr.code member will be SHNN_LINKSEL; the pszLink member will contain
the URL encoded form submission - eg "TestBubble://Test?Fruit=Apples"
and wParam will contain the dwID of the notification (useful if you
have multiple notifications of the same type)
Tim
分享到:
相关推荐
While labeled data is expensive to prepare, ever increasing amounts of unlabeled data is becoming widely available. In order to adapt to this phenomenon, several semi-supervised learning (SSL) ...
upfc baesd on P-Q control
利用对比大量词语对的方法,List-Based转移算法可以获取这些词语的语义关系,且同时还具有较小的时间复杂度,再结合改进的JAMR对齐器和Oracle分析器,最终提出了基于List-Baesd转移的语义分析翻译系统。该翻译系统...
福兴讯V587对讲机写频,调频软件。福摩斯特V587对讲机写频,调频
app开发
内容概要:本文介绍了LangChain这一开源框架,它专为开发基于大型语言模型(LLM)的应用程序而设计。文章阐述了LangChain的核心理念、架构组成及其重要性。LangChain通过模块化设计解决了大模型应用开发中的效率低下和局限性问题,提供了标准化的接口和丰富的抽象层,使开发者能够轻松接入不同大模型并构建高效的应用程序。文中详细讲解了几个关键模块,包括Model I/O、Retrieval、Chains、Memory、Agents和Callbacks,以及如何安装和使用LangChain进行开发。此外,还展示了具体的代码示例,如如何调用OpenAI的API、构建LLMChain链路、设置回调机制和实现对话记忆功能。 适合人群:对大语言模型有一定了解并且有兴趣开发基于LLM的应用程序的研发人员和技术爱好者。 使用场景及目标:①帮助开发者快速掌握LangChain的基本概念和使用方法;②提供实用的代码示例,便于开发者实际操作;③解释如何通过LangChain克服大模型应用开发中的常见难题,如模型差异、输出不稳定等。 阅读建议:鉴于LangChain涉及较多的专业术语和技术细节,建议读者在阅读时结合官方文档和示例代码一起学习,尤其是对于核心模块的理解和实践。同时,关注GitHub上的最新版本更新,以获取最新的特性和改进。
网络伴侣 iCompanion 2.1 网络计费软件,功能全面,支持ISDN
app开发
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
app开发
移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip
内容概要:本文详细介绍了往复活塞杆密封件在瞬态条件下热弹流润滑仿真的Python实现。首先定义了几何、材料和工况参数,然后分别构建了流体力学、热力学和固体力学模型。流体力学模型使用有限差分法求解瞬态雷诺方程,热力学模型考虑了温度和压力对粘度的影响,固体力学模型则采用了Mooney-Rivlin超弹性模型和Prony级数描述的粘弹性松弛。最后通过耦合求解实现了整个系统的时间积分,并绘制了液膜厚度和压力分布图。文中还讨论了模型的特点、简化假设以及扩展建议。 适合人群:机械工程领域的研究人员和技术人员,尤其是对密封件性能优化感兴趣的从业者。 使用场景及目标:适用于研究往复活塞杆密封件的工作机理及其在不同工况下的表现,帮助工程师理解和预测密封件的动态特性,从而改进设计和选材。 其他说明:该实现基于论文中的理论框架,但在实际应用时可能需要进一步调整和完善。
人人商城V3-3.2.1版本.zip 亲测能用
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
Java面向对象编程,出现的示例代码
蓝桥杯python,蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库
rgrgdfsegfasgrsredgf
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。