В текстовое поле вводим число, по нажатию на кнопку «добавить» сохраняем его, по нажатию на кнопку «распечатать» - выводим его в листбокс 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

В текстовое поле вводим число, по нажатию на кнопку «добавить» сохраняем его, по нажатию на кнопку «распечатать» - выводим его в листбокс




LONG MyWinP(HWND, UINT,WPARAM,LPARAM);

char item[150];

struct list{

int info;

struct list *next;

};

class CList

{

struct list *head,*p;

public:

int kol;

CList()

{head=p=NULL;kol=0;}

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

void AddElem (float s)

{if (head==NULL)

{head= new struct list;

head->info=s;

head->next=NULL;

p=head;kol++;

} else

{ p->next=new struct list;

p->next->info=s;

p->next->next=NULL;

p=p->next;kol++;

}}

void PrintAllElem ()

{ struct list *tmp;

tmp=new struct list;

if (head==NULL)

{SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"HET elementov");}

else{

tmp=head;

sprintf(item,"%d",tmp->info);

SendMessage(List1,LB_ADDSTRING,0,(LPARAM)item);

tmp=tmp->next;

while (tmp!=NULL)

{sprintf(item,"%d",tmp->info);

SendMessage(List1,LB_ADDSTRING,0,(LPARAM)item);

tmp=tmp->next;}

} }

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

~CList()

{

struct list *p;

while (head!=NULL)

{

p=head;

head=head->next;

delete p;

} }

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

void PrintElem(int k)

{ int i;struct list *tmp;

if (k>kol) {

SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"нет столько єлементов");}

tmp=new struct list;

if (head==NULL)

{SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"нет элементов");}

else{ tmp=head;

for (i=1;i<=(kol-k);i++)

{ tmp=tmp->next;}

sprintf(item,"%d",tmp->info);

SendMessage(List1,LB_ADDSTRING,0,(LPARAM)item);

 

tmp=tmp->next;

while (tmp!=NULL)

 

{sprintf(item,"%d",tmp->info);

SendMessage(List1,LB_ADDSTRING,0,(LPARAM)item);

 

tmp=tmp->next;}

}} };

CList a;

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

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{

char ProgName[]="My Window";

char Title[]="Заголовок окна";

HWND hWnd; MSG msg;

WNDCLASS w;

w.lpszClassName=ProgName;

w.hInstance=hInstance;

w.lpfnWndProc=(WNDPROC)MyWinP;

w.hCursor=LoadCursor(NULL, IDC_ARROW);

w.hIcon=LoadIcon(NULL,IDI_APPLICATION);

w.lpszMenuName=NULL;

w.hbrBackground=(HBRUSH)(COLOR_WINDOW+7);

w.style=CS_HREDRAW | CS_VREDRAW;

w.cbClsExtra=0;

w.cbWndExtra=0;

if(!RegisterClass(&w)) return false;

hWnd=CreateWindow(ProgName,Title, WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL,0,0,

600, 600, NULL, NULL, hInstance, NULL);

if (!hWnd) return false;

ShowWindow(hWnd, nCmdShow);

while(GetMessage(&msg, NULL, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return msg.wParam;

}

using namespace std;

LONG MyWinP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)

{ static HWND Button1, Button3,Button2,Button4,Button5,Button6,edit1,

Button7,Button8,Button9,Button10,Button11,Combo1;

static int en,Nn;

float Ss;

int nItem;

switch(msg)

{ case WM_RBUTTONDOWN:

SendMessage(List1,LB_RESETCONTENT,0,0);

break;

case WM_COMMAND:

switch (LOWORD(wParam))

{

case ID_LIST:

if (HIWORD(wParam)==LBN_DBLCLK)

{

nItem=SendMessage(List1,LB_GETCURSEL,0,(LPARAM)item);

if (nItem!=LB_ERR)

{

SendMessage(List1,LB_GETTEXT,nItem,(LPARAM)item);

SetWindowText(hWnd,item);

} }

break;

case ID_BUTTON1:

GetWindowText(edit1,item,4);

Ss=atof(item);

a.AddElem (Ss);

sprintf(item,"");

SetWindowText(edit1,item);

break;

case ID_BUTTON2:

a.PrintAllElem();

break;

case ID_BUTTON3:

GetWindowText(edit1,item,4);

Nn=atof(item);

sprintf(item,"");

SetWindowText(edit1,item);

a.PrintElem(Nn);

break;

} break;

case WM_CREATE:

Button1=CreateWindow("button","Добавить элемент", WS_CHILD|WS_VISIBLE,10,400,130,30,hWnd,(HMENU)ID_BUTTON1,NULL,NULL);

Button2=CreateWindow("button","Распечатать все", WS_CHILD|WS_VISIBLE,150,400,130,30,hWnd,(HMENU)ID_BUTTON2,NULL,NULL);

Button3=CreateWindow("button","Распечатать последних....", WS_CHILD|WS_VISIBLE,10,450,180,30,hWnd,(HMENU)ID_BUTTON3,NULL,NULL);

edit1=CreateWindow("edit", NULL, WS_CHILD|WS_VISIBLE|WS_BORDER|ES_CENTER,350,400,130,30,hWnd,(HMENU)ID_EDIT,NULL,NULL);

List1=CreateWindow("listbox",NULL,WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_HSCROLL|LBS_NOINTEGRALHEIGHT, 10,40,300,320,hWnd,(HMENU)ID_LIST,NULL,NULL);

SendMessage(List1,LB_SETHORIZONTALEXTENT,400,0);

//SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"Списки");

// SendMessage(List1,LB_SETCURSEL,1,0);

en=1;

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hWnd, msg, wParam, lParam); }return 0;}

 

ИЗ ТЕКСТОВОГО ПОЛЯ В СТРОКУ СОСТОЯНИЯ

 

 

 

 

#include "Laba7.h"

#include <windows.h>

#include <commctrl.h>

 

 

#pragma comment (lib, "comctl32.lib")

#define ID_PR 1

#define IDC_STATUS_BAR 2

 

 

LONG MyWinP(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nShowCmd)

{char ProgName[]="Window";

char Title[]="Printer";

HWND hWnd;

MSG msg;

WNDCLASS w;

w.lpszClassName=ProgName;

w.hInstance=hInstance;

w.lpfnWndProc=(WNDPROC)MyWinP;

w.hCursor=LoadCursor(NULL,IDC_ARROW);

w.hIcon=LoadIcon(NULL,IDI_APPLICATION);

w.lpszMenuName=NULL;

w.hbrBackground=(HBRUSH)(COLOR_WINDOW+7);

w.style=CS_HREDRAW|CS_VREDRAW;

w.cbClsExtra=0;

w.cbWndExtra=0;

if(!RegisterClass(&w)) return false;

hWnd=CreateWindow(ProgName, Title, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,350,250,NULL,NULL,hInstance,NULL);

ShowWindow(hWnd,nShowCmd);

while(GetMessage(&msg,NULL,0,0))

{TranslateMessage(&msg);

DispatchMessage(&msg);

}

return msg.wParam;

}

 

printer MyPrinter;

int count=60;

LONG MyWinP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)

{int i;

static HWND Print; //кнопки

static HWND Ed; //текстовое поле

static HWND hwndStatusBar;

char butName[40];

char str[100];

 

switch(msg)

{case WM_CREATE:

sprintf(butName,"Отправить");

Print=CreateWindow("button",butName,WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,30,40,60,30,

hWnd,(HMENU)ID_PR,NULL,NULL);

InitCommonControls();

hwndStatusBar = CreateStatusWindow (WS_CHILD |

WS_VISIBLE,

"Ready", hWnd, IDC_STATUS_BAR);

 

Ed=CreateWindow("EDIT","sd ",WS_CHILD|WS_VISIBLE|WS_BORDER|SS_CENTER,

30,130,280,60,hWnd,NULL,NULL,NULL);

break;

 

case WM_COMMAND:

switch(LOWORD(wParam))

{

case ID_PR:

 

LPARAM lpString;

 

 

GetWindowText(Ed,str,sizeof(Ed));

SetWindowText(hwndStatusBar,str);

 

break;

}

break;

 

case WM_DESTROY:

 

PostQuitMessage(0);

break;

default:

return DefWindowProc(hWnd, msg, wParam, lParam);

}

return 0;

}

 



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 194; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.207.129 (0.01 с.)