用户登录程序--绘制--遍历窗口
1.文本框,静态文本,按钮
2.获取文本框信息:
1.不绑定变量,直接用成员函数或者API
GetDlgItemText
::GetWindowText
2.绑定变量,使用UpdateData,给变量赋值
UpdateData(TRUE)-控件中的值赋给变量
UpdateData(FALSE)-变量的值赋给控件
3.UpdateData函数原理
UpdateData(TRUE)
->DoDataExchange
->DDX_Text
->::GetWindowTextLength
::GetWindowText
流程:
CMyApp::InitInstance()
->定义对话框对象,创建并显示
CMyDlg dlg;
INT_PTR nRet = dlg.DoModal();
DoModal中有消息循环
确定按钮中:UpdateData
CDialogEx::OnOK();(消息循环退出,DoModal函数返回)
判断返回值为IDOK时再创建另一个对话框
画圆Ellipse
画直线MoveToLineTo
画矩形Rectangle
使用DC绘图
CPaintDC只能用在OnPaint
::BeginPaint
::EndPaint
CClientDC用在非OnPaint函数中
::GetDC()
::ReleaseDC()
双缓冲:所有的图形先画在内存DC中
然后画完之后,再一并拷贝到屏幕DC
创建兼容dc:CreateCompatibleDC
兼容位图:CreateCompatibleBitmap
流程:1.鼠标响应
按下,弹起,鼠标移动
2.完成响应函数
按下:记录按下标记
记录按下坐标
弹起:重置按下标记
记录弹起标记
移动:。。。
3.完成绘制
OnPaint中实现绘制
4.扩充功能
实现定制:样式,属性。。。
遍历窗口的程序
1. C++封装一个遍历窗口的类
成员:List或者vector存储窗口信息
函数:获取所有窗口信息
::EnumWindows(EnumWindowsProc,
(LPARAM)this);
2.对话框程序
用控件ListCtrl存储窗口信息
为控件ListCtrl绑定一个变量m_WCtrl
(方便操作控件)变量类型:CListCtrl
CListCtrl::InsertColumn插入列
CListCtrl::InsertItem插入行第0列
CListCtrl::SetItemText设置指定行指定列
3.设置定时器:
1.使用消息 WM_TIMER 处理定时器事件
对话框中添加消息响应函数OnTimer
设置定时器:::SetTimer(窗口句柄,ID,时间,NULL);
卸载定时器:::KillTimer(窗口句柄,ID);
2.使用回调函数处理定时器事件
定义回调函数:
VOID CALLBACK TimerProc(
_In_ HWND hwnd,
_In_ UINT uMsg,
_In_ UINT_PTR idEvent,
_In_ DWORD dwTime
){}
通过SetTimer设置:
::SetTimer(窗口句柄,ID,时间,函数);
成员函数:SetTimer(ID,时间,函数);
4.对话类中处理消息,需要重写虚函数
WindowProc
番外篇.处理消息队列中的消息之前
想做些操作
对话框中需要重写虚函数
PreTranslateMessage
mfc 常用技巧
2014.12.18~12.19-GDI编程
- 绘制图形1-绘制线条
- 绘制矩形
- 绘制椭圆
1.派生按钮类:CButton CMyButton
2014.12.17.mfc的控件的使用
mfc中控件绑定变量
- OnInitDialog函数中初始化控件信息
- 怎么添加控件变量
- 对话框与选项卡介绍
- 对话框选与选项卡创建步骤:
- 创建若干个类型(Style)为子集(Child),边框(Border)为无(None)的对话框用于创建选项卡,并调整好资源ID名称。
- 为每个对话框添加派生与CDialog的类,并仔细为各个新建类取好名字
- 使用AppWizard创建一个派生自CTabCtrl的自定义类CMyTabCtrl,并在CMyTabCtrl的头文件包含各个对话框类的头文件,并声明
- 在主窗口添加TabControl控件,并设好资源ID
- 包含自定义CMyTabCtrl类的头文件
- 为此空间添加一个CMyTabCtrl类的对象
- 在主窗口的OnInitDialog()的函数中添加一下类似代码
2014.12.16
c++ 模板 : 模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数。
#include<afxwin.h>
一段mfc源码:
MFC的核心就是基于CWinApp类的应用程序对象
转载于:https://www.cnblogs.com/hungryvampire/p/5299844.html
用户登录程序--绘制--遍历窗口相关推荐
- 用户登录程序C语言实现
用户登录程序实现 题目要求:编写代码实现,模拟用户登陆情景,并且只能登陆三次,(只允许输入三次密码,如果密码正确则提示登陆成功,如果三次均输入错误,则退出程序). 代码如下: int main() { ...
- usercontroller.java_userlogin 用户登录程序的编写,输入 名和密码,JAVA语言,可运行 Develop 254万源代码下载- www.pudn.com...
文件名称: userlogin下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 11 KB 上传时间: 2016-03-30 下载次数: 0 提 供 者: 详细说 ...
- python用户登录程序_「Python」每日一练:函数的应用之注册登录程序
编程题 函数的应用之注册登录程序 任务内容:要求模拟系统注册及登录的情境,注册密码要求:密码是6位或以上,必须包涵大写字母.小写字母.数字.程序若未退出前,则一直循环运行. 程序编写要求:按要求完善各 ...
- AD用户登录验证,遍历OU(LDAP)
先安装python-ldap模块 1.验证AD用户登录是否成功 import sqlite3,ldapdomainname='cmr\\' username='zhangsan' ldapuser = ...
- Struts2+Spring2框架开发的菜鸟绝对能看得懂的用户登录程序 (2)
struts2与spring整合,利用spring核心功能实现依赖注入. spring: 在配置文件中应配置的bean负责给相应类的中对象成员属性进行实例化: 1:在原有struts2项目中导入spr ...
- java logic_java logic怎么做用户登录
展开全部 ,具体点可以这样:创建一个用户表,里边包括LoginName(登录62616964757a686964616fe58685e5aeb931333337383233名),UserName(用户 ...
- C++ 主程序中打开子程序窗口隐藏,操作控件 遍历窗口控件句柄EnumChildWindows();获取其他程序进度条数据 操作选择框 按钮点击
1.线程启动子程序 ShowWindow(hWnd, SW_SHOW)显示 ShowWindow(hwnd, SW_HIDE);隐藏 system_hide(L"Odin3.exe&quo ...
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False:print("-第一层")whil ...
- 用户登录成功后才进入主窗口进行其他操作
应用前景:面对一个应用程序,用户只有输入正确的用户名和密码后,才能进入主窗口进行其他的操作:否则,提示登录失败,重新输入. 开发环境:Windows XP + VC6.0 新建一个基于MFC的单文档应 ...
最新文章
- 【2】Vue项目引用Element UI(饿了么框架)菜单导航条初期配置
- [Nodejs学习之旅2-1] 模块机制
- 如何保护你的linux操作系统
- ipconfig命令指南
- 静态组件_静态网站的出色附加组件,可让您跳舞
- 时间加密算法_物联网安全:可计算加密算法
- 后台admin省市县镇公共组件
- 业内为啥如此恨视觉中国
- 交换局域网(链路层+以太网+交换机)
- access insert语句怎么写_ySQL中特别实用的几种SQL语句送给大家
- matmul torch 详解_Pytorch | 详解Pytorch科学计算包——Tensor
- IC人物志-Intel创世人Robert Norton Noyce(罗伯特·诺伊斯)
- python入门之发送邮件
- CentOS7像外部163邮箱发送邮件
- Ratel-Kubernetes Dashboard 一键式 Kubernetes多集群资源管理平台 k8s 管理平台
- 华硕路由器WOL局域网唤醒失效解决方案
- SpringBoot 整合Smart-doc生成接口文档
- 清理微信浏览器网页缓存的办法
- android10.0(Q) Launcher3 去掉抽屉
- 计算机科学与计算相关的文献,计算机类专业毕业论文参考文献大全
热门文章
- while的用法和格式描述符
- android 系统联系人,Android读取系统联系人
- java php cms_内容管理系统的开发策略研究——以PHP CMS、Node.js CMS、Java CMS为例
- qt程序使用多行linux命令,开发Qt应用程序的基本方法总结
- oracle中ak约束,Oracle自定义聚集函数
- STM系列单片机中文参考手册下载方法
- 机器学习中的损失函数(交叉熵损失、Hinge loss)
- 基于Ajax提交formdata数据、错误信息展示和局部钩子、全局钩子的校验。
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?...
- 解决问题__max 模型白色 材质球换没用