刚学MFC ,请问怎么将 自己排序的结果,输出到界面里

jack_doson 2010-04-07 05:11:22

问题如下,比如 我 有 一串数字 1 2 3 4 5


在按下 确认键后进行降序排列 平且输出

5 4 3 2 1

谢谢,有空请讲的详细点,

如实在没空,贴几行代码 也行

...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
z8y8x 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 visualeleven 的回复:]
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;

vector<int> vec;
for(int i=0; i<5; i++)
{
vec.push_back(i+1);
}
sort(vec.begin(), vec.end(), greater<int>()……
[/Quote]

正解
羽毛乱发 2010-04-08
  • 打赏
  • 举报
回复
这个问题的答案也太多了吧,汗死,
shenqiabing 2010-04-07
  • 打赏
  • 举报
回复
自己排序
然后CString str
CString strResult;
for(XXX;XXX;XXX)
{
str.Format("%d",i);
strResult+=str;
}

SetDlgItemText(IDC_YourCTRL,strResult);
jack_doson 2010-04-07
  • 打赏
  • 举报
回复

///////////////////////////////////////
// PredefineClass.cpp

#include "PredefineClass.h"

CMyApp theApp;

///////////////////////////////////////

BOOL CMyApp::InitInstance()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}

////////////////////////////////////////

CMainWindow::CMainWindow()
{
LPCTSTR lpszClassName = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,
::LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_3DFACE+1));

CreateEx(WS_EX_CLIENTEDGE, lpszClassName,
"框架程序创建的窗口", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL);
}

BEGIN_MESSAGE_MAP(CMainWindow, CWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()

void CMainWindow::PostNcDestroy()
{
delete this;
}


BOOL CMainWindow::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// 创建三个不同风格的按钮
::CreateWindowEx(0, "button", "push button", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
50, 30, 110, 30, m_hWnd, (HMENU)IDC_BUTTON, AfxGetApp()->m_hInstance, NULL);


// 创建静态文本
::CreateWindowEx(0, "static", "1", WS_CHILD|WS_VISIBLE|SS_SUNKEN,
50, 150, 150, 60, m_hWnd, (HMENU)IDC_STATIC, AfxGetApp()->m_hInstance, NULL);

// 创建静态文本
::CreateWindowEx(0, "static", "2", WS_CHILD|WS_VISIBLE|SS_SUNKEN,
50, 220, 150, 60, m_hWnd, (HMENU)IDC_STATIC, AfxGetApp()->m_hInstance, NULL);

// 创建静态文本
::CreateWindowEx(0, "static", "3", WS_CHILD|WS_VISIBLE|SS_SUNKEN,
50, 290, 150, 60, m_hWnd, (HMENU)IDC_STATIC, AfxGetApp()->m_hInstance, NULL);




return TRUE;
}

BOOL CMainWindow::OnCommand(WPARAM wParam, LPARAM lParam)
{

if(IDC_BUTTON == LOWORD(wParam))
::MessageBox(m_hWnd, "OK", "Button", MB_OK);

return 0;
}



先谢谢大家
上面的程序 我想改改 就好了 ,实在看的头疼,晚上继续了,

我的意思是当我按下 确定 按钮之后

能在 静态文本 里输出 5 4 3 2 1

还有就是 我这些 排序用的算法 放在 哪个处理函数(不知道是不是这么称呼)里面
jack_doson 2010-04-07
  • 打赏
  • 举报
回复
对话框 的界面
Eleven 2010-04-07
  • 打赏
  • 举报
回复
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;

vector<int> vec;
for(int i=0; i<5; i++)
{
vec.push_back(i+1);
}
sort(vec.begin(), vec.end(), greater<int>());
CString strText(_T(""));
CString strTmp(_T(""));
for(vector<int>::const_iterator iter = vec.begin(); iter != vec.end(); iter++)
{
strTmp.Format(_T("%d "), *iter);
strText += strTmp;
}
SetDlgItemText(IDC_EDIT1, strText);
bingying19872008 2010-04-07
  • 打赏
  • 举报
回复
格式化字符串.
然后调用DrawText
这不是鸭头 2010-04-07
  • 打赏
  • 举报
回复
自己排序
然后CString str
CString strResult;
for(XXX;XXX;XXX)
{
str.Format("%d",i);
strResult+=str;
}

SetDlgItemText(IDC_YourCTRL,strResult);
oldmanzhao 2010-04-07
  • 打赏
  • 举报
回复
你的界面是什么?View,ListView,TreeView?还是什么,方法不一样的,CView的话直接用DrawText输出格式化字符串就可以了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧