鱼C论坛

 找回密码
 立即注册
查看: 4013|回复: 7

如何将窗口的非客户区做成圆形,而不是在里面添加。

[复制链接]
发表于 2014-7-15 11:18:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助:问题如上,为了多学一点,请帮忙,给出要查的知识点或书籍都可。

       是不是还要找VGA与汇编知识吗。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 13:35:21 | 显示全部楼层
不会实现,用duilib试试。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-15 17:40:53 | 显示全部楼层
#include <windows.h>
#include <stdio.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
        static TCHAR szAppName[] = TEXT ("HelloWin") ;
        HWND         hwnd ;
        MSG          msg ;
        WNDCLASS     wndclass ;
        
        wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
        wndclass.lpfnWndProc   = WndProc ;
        wndclass.cbClsExtra    = 0 ;
        wndclass.cbWndExtra    = 0 ;
        wndclass.hInstance     = hInstance ;
        wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
        wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
        wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
        wndclass.lpszMenuName  = NULL ;
        wndclass.lpszClassName = szAppName ;
        
        if (!RegisterClass (&wndclass))
        {
                MessageBox (NULL, TEXT ("This program requires Windows NT!"), 
                        szAppName, MB_ICONERROR) ;
                return 0 ;
        }
        
        hwnd = CreateWindow (szAppName,                  // window class name
                TEXT ("The Hello Program"), // window caption
                WS_OVERLAPPEDWINDOW,        // window style
                CW_USEDEFAULT,              // initial x position
                CW_USEDEFAULT,              // initial y position
                CW_USEDEFAULT,              // initial x size
                CW_USEDEFAULT,              // initial y size
                NULL,                       // parent window handle
                NULL,                       // window menu handle
                hInstance,                  // program instance handle
                NULL) ;                     // creation parameters
        
        ShowWindow (hwnd, iCmdShow) ;
        UpdateWindow (hwnd) ;

        while (GetMessage (&msg, NULL, 0, 0))
        {
                TranslateMessage (&msg) ;
                DispatchMessage (&msg) ;
        }
        return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        HDC         hdc ;
        PAINTSTRUCT ps ;
        RECT        rect ;
        
        switch (message)
        {
        case WM_SIZE:{
                int cx = LOWORD(lParam);
                int cy = HIWORD(lParam); 
                HRGN hgn = CreateEllipticRgn(0,0,cx,cy);
                SetWindowRgn( hwnd, hgn, TRUE );
                return 0;
        }        
        case WM_DESTROY:
                PostQuitMessage (0) ;
                return 0 ;
        }
        return DefWindowProc (hwnd, message, wParam, lParam) ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-15 20:13:58 | 显示全部楼层

大神啊。。能不能用纯汇编写,不要win32。。裸机环境下能运行的那种。。
这你也太厉害了

点评

裸机环境下的与操作系统无关的编程需要直接面对不同型号的硬件,用不同的代码来驱动该硬件,在通用计算机上作这个实验吃力不讨好,因为做起来很复杂,但做完了,由于大家的硬件不同,又没有几个人能用. 我  详情 回复 发表于 2014-7-15 20:42
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-15 20:42:03 | 显示全部楼层
jkl666 发表于 2014-7-15 20:13
大神啊。。能不能用纯汇编写,不要win32。。裸机环境下能运行的那种。。
这你也太厉害了

       裸机环境下的与操作系统无关的编程需要直接面对不同型号的硬件,用不同的代码来驱动该硬件,在通用计算机上作这个实验吃力不讨好,因为做起来很复杂,但做完了,由于大家的硬件不同,又没有几个人能用.
       我觉得你是厌倦了编程中老是调用别人写的函数,想真正自己彻底实现一个功能,是吗?如果是这样,你可以买块51单片机的开发板,自己在上面试验.由于没有操作系统,无论用汇编还是C语言,本质上都是直接控制硬件的.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-8-22 15:37:44 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-15 04:18:57 | 显示全部楼层
大神啊。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-18 11:09:18 | 显示全部楼层
绝对是大神啊。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表