【静态控件】的使用。。还请各位高手指点一二。。

RaiNnY1006 RaiNnY1006 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
为什么静态控件不能显示Bitmap?
源程如下:

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "resource.h"

char lpszClassName1[] = "static";
char lpszText[]="";
HWND hwndStatic ;
HINSTANCE hInst;
HBITMAP hBm;
BITMAP bm;

LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
HWND hWnd;
MSG Msg;
WNDCLASS WndClass;


char lpszClassName[] = "控件";
char lpszTitle[] = "静态控件";
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = lpszClassName;
WndClass.lpszMenuName = NULL;
WndClass.style = 0;

if(!RegisterClass(&WndClass))
{
MessageBeep(0);
return FALSE;
}

hWnd = CreateWindow(lpszClassName, lpszTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);

hBm = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BITMAP));
GetObject(hBm, sizeof(BITMAP), (LPVOID)&bm);
sprintf(lpszText,"该位图高度为%d, 宽度为%d。",bm.bmHeight, bm.bmWidth);

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

hInst = hInstance;

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

LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
switch(message)
{
case WM_CHAR:
if (wparam == 27 )
PostQuitMessage(0);
break;
case WM_CREATE:
hwndStatic = CreateWindow(lpszClassName1,"IDB_BITMAP",
WS_BORDER|WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_NOTIFY,
30,30,
0,0, // autosize
hwnd,
(HMENU)IDB_BITMAP,
hInst,
NULL);
break;
case WM_COMMAND:
switch(LOWORD(wparam))
{
case IDB_BITMAP:
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, message, wparam, lparam);
}
...全文

相关推荐

MFC中基于CImage类在静态控件上显示图片

MFC中基于CImage类在静态控件上显示图片,我目前使用的是VS2012,不知道和其他编程版本上是否存在问题,如果存在兼容问题,也可以直接打开CImageBaseMfcDlg.cpp文件,直接查看程序,通过参考应该能够顺利实现在静态控件上显示想要的图片。

RoBoSky

VC++实现滚动字幕的静态控件教程

在VC++开发中,静态控件是基础界面元素之一,用于显示文本、图标或矩形。它们可以为用户提供提示信息、状态显示或是界面分隔。虽然名为“静态”,但其在交互式应用程序中也扮演着重要角色,特别是在窗口布局和视觉引导方面。在VC++中,创建和使用静态控件相对简单。开发者可以通过向导添加控件,并通过编程调整其属性如字体、颜色和位置。例如,若想改变静态控件中的文字,可以通过调用函数。而对于控件的视觉效果,例如背景色,则可以通过SetBkColor函数进行设置。// 示例代码:设置静态控件的文本和背景色。

小虾汉斯

静态控件响应Tab键

使静态控件可其它的一般控件一样响应Tab键

qt_freelancer

静态控件添加消息的方法

VS2005中向静态控件添加消息的方法,可以通过两步,具体见附件。假如静态控件能添加消息,就能安放图片,具体的方法可以请教高人,谢谢分享!

hnsdgxylh

vc静态控件文字的自动滚动

vc中,static控件中文字的自动滚动,可以左右滚动,也可以上下滚动,时间,步进宽度,间隔宽度都可以设置 并且可以修改滚动的文字

aidy22
评论
收藏 已收藏
分享
返回顶部
RaiNnY1006
VC/MFC 16,550 成员 421,606 内容