mfc中添加一个Picture控件,怎样实现点击一个按钮连续播放规定数量的照片。
1条回答 默认 最新
- CodeBytes 2023-02-08 15:09关注
该回答引用ChatGPT
在MFC中,您可以使用CImage类来实现图像控件。下面是一个示例,其中您可以使用“播放”按钮来连续播放规定数量的照片。#include "afxwin.h" #include "stdafx.h" #include "MyPictureApp.h" #include "MyPictureDlg.h" #include "atlimage.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CMyPictureDlg::CMyPictureDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CMyPictureDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CMyPictureDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_PICTURE, m_pictureCtrl); } BEGIN_MESSAGE_MAP(CMyPictureDlg, CDialogEx) ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CMyPictureDlg::OnBnClickedButton1) END_MESSAGE_MAP() BOOL CMyPictureDlg::OnInitDialog() { CDialogEx::OnInitDialog(); SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); return TRUE; } void CMyPictureDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); } } HCURSOR CMyPictureDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); } void CMyPictureDlg::OnBnClickedButton1() { CImage image; int num_images = 2; for (int i = 0; i < num_images; i++) { CString
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报