VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 675|回复: 5

如何使picture控件始终显示在窗口的最底层啊要,不要挡住上面的控件

[复制链接]

2

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-20 12:20:01 | 显示全部楼层 |阅读模式
如何使picture控件始终显示在窗口的最底层啊要,不要挡住上面的控件
回复

使用道具 举报

2

主题

19

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-29 22:09:01 | 显示全部楼层
你说的是在对话框上编辑资源吧
可以这样来处理(与画入控件的先后顺序有关)
picture控件应在插入对话框资源后第一个插入的对象,
这样其它再加入的控件就会在此picture控件上

如果是动态创建的控件,也与创建顺序有关,即先创建的先画出
如果想在程序中控件显示顺序,可在将底层的动态创建的控件
先用 控件对象->Invalidate();
回复

使用道具 举报

2

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-1-30 10:00:01 | 显示全部楼层
兄弟啊,不行也
我把程序给你看一下吧
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-30 18:54:01 | 显示全部楼层
不要使用这个控件,很难操作,可以在对话框的ONPAINT函数里这样写一段代码

void CXXXXDialog::OnPaint()
{
        CPaintDC dc(this); // device context for painting
        dc.SetBkMode(TRANSPARENT);
        CPicture  pic;
        if(!pic.LoadPicture(background.jpg))
                return;
        RECT rect;       
        GetClientRect(&rect);
       
        pic.DrawPicture(dc.m_hDC, 0, 0, rect.right - rect.left ,rect.bottom - rect.top );
       
}
回复

使用道具 举报

2

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-1-31 12:09:01 | 显示全部楼层
我按你的方法做了,可是重建时出错了
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(115) : error C2065: 'CPicture' : undeclared identifier
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(115) : error C2146: syntax error : missing ';' before identifier 'pic'
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(115) : error C2065: 'pic' : undeclared identifier
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(116) : error C2228: left of '.LoadPicture' must have class/struct/union type
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(116) : error C2143: syntax error : missing ')' before '.'
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(116) : error C2059: syntax error : '/'
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(116) : error C2059: syntax error : ')'
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(117) : error C2228: left of '.pic' must have class/struct/union type
E:\VS_soft\C++\p2p\Server_FileTransfer\Server_FileTransferDlg.cpp(117) : error C2228: left of '.DrawPicture' must have class/struct/union type
TCPServer_FT.cpp
Generating Code...
执行 cl.exe 时出错
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-14 06:30:01 | 显示全部楼层
忘了把这个类给你了
头文件PICTURE.H:


// CPicture.h: interface for the CPicture class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PICTURE_H__081D008A_5029_4C56_B80C_37793E323DF6__INCLUDED_)
#define AFX_PICTURE_H__081D008A_5029_4C56_B80C_37793E323DF6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//////////////////////////////////////////////////////////////////////////
#include <stdio.h>

//------------------------------------------

typedef enum
{
        OFM_WRITE        = 0,
        OFM_READ         = 1
}FILE_OPENMODE;

#define HIMETRIC_INCH 2540

//=-----------------------------
class CFileProcess
{
private :
        FILE  *m_File;

public:
        CFileProcess();
   ~CFileProcess();
    BOOL        Open        (char * FileName , FILE_OPENMODE Open_Mode);
        BOOL        Write       (VOID * zBuffer, DWORD cSize);
    BOOL        Read        (VOID * zBuffer, DWORD cSize);
        LONG    GetSize     (VOID);
        VOID    Close       (VOID);
};

//-------------------------------------------------------------


//-----------------------------------------
class CPicture  
{
public:
        CPicture();
        virtual ~CPicture();
       
private:
        IPicture *m_pic;
        HGLOBAL  hGlobal;

public:

        HBITMAP LoadPicture(char * FileName);
        HBITMAP LoadPicture(char * FileName, HDC hdc);
        VOID    FreePicture( VOID );
    HDC     _GetDC     ( VOID );
        HBITMAP _GetHandle ( VOID );
        DWORD   _GetWidth  ( VOID );
        DWORD   _GetHeight ( VOID );
        BOOL    DrawPicture(HDC hdc,long x,long y,long cx,long cy);
       

};

#endif // !defined(AFX_PICTURE_H__081D008A_5029_4C56_B80C_37793E323DF6__INCLUDED_)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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