标题:求助,MFC编程,实现可视化
只看楼主
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
结帖率:60%
已结贴  问题点数:20 回复次数:8 
求助,MFC编程,实现可视化
主要是通过MFC编程,可以实现运行后输出一个对话框,单击对话框的任何地方都显示该点的坐标....
求MFC高手,谢谢!
搜索更多相关主题的帖子: 对话框 
2017-05-15 08:53
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
得分:0 
等待中....
2017-05-15 08:54
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
MFC博大精深啊  封装的老狠了  建议你去买本专门讲述MFC的书籍学吧  反正我是不懂

DO IT YOURSELF !
2017-05-15 08:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:7 
直接调用API也可以,MFC也就是封装API的类库。
2017-05-15 11:22
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
得分:0 
回复 4楼 吹水佬
嗯嗯,知识我是看了,但是还是看的太少,想知道具体的程序操作,入门编有点困难
2017-05-16 15:59
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
得分:0 
回复 3楼 wp231957
哈哈,我也是,网上有很多教程,看的懂,真正操作比较困难呢
2017-05-16 16:00
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
得分:7 
那是因为你没有入门,其实很简单,你要明白WIN32 ,MFC只是一门技术而已,只是C++的封装


[此贴子已经被作者于2017-5-16 16:15编辑过]

2017-05-16 16:09
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
得分:0 
回复 7楼 烟雨晨曦
嗯嗯,对,就是还没入门让你,其实就是用的c++,学会了应该特别简单的
2017-05-17 08:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 5楼 tang12


#include <stdio.h>
#include <windows.h>

void _CursorPos(HWND hwnd)
{
    char buf[100];
    POINT p;
    GetCursorPos(&p);
    sprintf(buf, "x=%d, y=%d\n", p.x, p.y);
    SetWindowText(hwnd, buf);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
    switch(Message)
    {
        case WM_LBUTTONDOWN:
        {
            _CursorPos(hwnd);
            break;
        }
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            break;
        }
        default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG msg;
    memset(&wc,0,sizeof(wc));
    wc.cbSize         = sizeof(WNDCLASSEX);
    wc.lpfnWndProc     = WndProc;
    wc.hInstance     = hInstance;
    wc.hCursor         = LoadCursor(NULL, IDC_ARROW);
    wc.lpszClassName = "WindowClass";
    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "注册窗口失败!", "Error!", MB_OK);
        return 0;
    }
    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, "WindowClass", "点击显示鼠标坐标", WS_VISIBLE|WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);
    if(hwnd == NULL)
    {
        MessageBox(NULL, "创建窗口失败!", "Error!", MB_OK);
        return 0;
    }
    while(GetMessage(&msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
2017-05-17 11:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477005-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.390914 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved