|
|
|
|
#1 |
|
Новичок
Регистрация: 27.07.2012
Сообщений: 82
Репутация: 1
|
Надо сделать лабу.
Пока сделал только это: Код:
#include "stdafx.h"
#include "yap3.h"
#include <fstream>
#include <iostream>
using namespace std;
#define MAX_LOADSTRING 100
#define IDB_CANCEL 3002 //Идентификатор кнопки отмена
#define IDB_SAVE 3001 //Идентификатор кнопки Сохранить
#define IDE_FIELD 3003 //Идентификатор поля для ввода имя файла
#define IDE_AREA 3004 //Идентификатор поля для ввода того, что сохраниться в файле
// Глобальные переменные:
HINSTANCE hInst; // текущий экземпляр
WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
HWND hWnd; //десктриптор главного окна
HWND Savebuttom; //дескриптор кнопки Сохранить
HWND Cancelbuttom; //дескриптор кнопки Отмена
HWND TextField; // дестриптор "edit" де будет именя файла
HWND TextArea; // дестриптор "edit"где впишется текст
char chText[70]; //имя файла
char Text[100]; // текст файла
WORD cbCount = 0; //размер текста в файле
//Здесь стандартный winmain
//
// ФУНКЦИЯ: MyRegisterClass()
//
// НАЗНАЧЕНИЕ: регистрирует класс окна.
// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
//
// НАЗНАЧЕНИЕ: сохраняет обработку экземпляра и создает главное окно.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
ofstream Write;
cbCount = 0;
ifstream read;
switch (message)
{
case WM_CREATE:
GetClientRect(hWnd, &rect);
Savebuttom = CreateWindowW(L"button", L"Сохранить", WS_CHILDWINDOW | BS_PUSHBUTTON | WS_VISIBLE,
rect.left + 100, rect.bottom-100, 100, 50, hWnd, (HMENU) IDB_SAVE, hInst, NULL);
Cancelbuttom = CreateWindowW(L"button", L"Отменить", WS_CHILDWINDOW | BS_PUSHBUTTON | WS_VISIBLE,
rect.right - 200, rect.bottom - 100, 100, 50, hWnd,(HMENU) IDB_CANCEL, hInst, NULL);
EnableWindow(Cancelbuttom,FALSE);
TextField = CreateWindowW(L"edit", L"Текстовое поле", WS_CHILDWINDOW | ES_AUTOHSCROLL | WS_VISIBLE | ES_LEFT | WS_BORDER| ES_OEMCONVERT,
rect.right/2.-100, rect.bottom/2.-100, 200, 20, hWnd, (HMENU)IDE_FIELD, hInst, NULL);
TextArea= CreateWindowW(L"edit", L"Текстовая область", WS_CHILDWINDOW | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
rect.right / 2.-100, rect.bottom / 2.-50, 200, 300, hWnd, (HMENU) IDE_AREA, hInst, NULL);
break;
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
case IDE_FIELD:
/*if (!cbCount)
{
chText = "text.txt";
}*/
break;
case IDB_SAVE:
cbCount = SendMessage(TextField, EM_GETLINE, 20, (LPARAM)chText);
Write.open(chText);
cbCount = SendMessage(TextArea, EM_GETLINE, 20, (LPARAM)Text);
MessageBox(hWnd,chText, "Имя файла ", MB_OK);
MessageBox(hWnd,Text, "Текст файла ", MB_OK);
Write << Text;
Write.close();
case IDB_CANCEL:
read.open(chText);
break;
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
EndPaint(hWnd, &ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
// Обработчик сообщений для окна "О программе".
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}
Делать лабу полностью не надо, лишь объяснить почему не создаётся и не сохраняется файл, а остальное я думаю сам сдюжу. В крайнем случае спрошу здесь. Очень надеюсь на вашу помощь! |
|
|
|
|
#2 |
|
Новичок
Регистрация: 27.07.2012
Сообщений: 82
Репутация: 1
|
Задание такое: Пользователь в текстовое поле указывает имя файла и вводит текст в текстовую область. При нажатии кнопки "Сохранить" текст записывается в файл. При нажатии кнопки "Отменить" - в текстовую область загружается содержимое файла, если он был сохранен. Кнопка "Отменить" должна быть доступна только если пользователь сохранил файл и изменил текст после сохранения. Если имя файла не указано, то оно задается автоматически - text.txt.
|
|
|
| Ads | |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Неверное отображение графического файла | BoBa65 | Графика | 3 | 23.03.2013 20:11 |
| Как увеличить резкость графического файла? | Базаров | Графика | 2 | 08.01.2013 15:53 |
| Сброс графического ускорителя | VEROVOLINE | Неисправности, настройка | 8 | 08.10.2012 02:14 |
| winapi | Gard | Программирование | 0 | 26.08.2011 20:14 |
| Програмируем в интернете на WinApi,C++,Masm32 | Serhii Parvuliusov | Веб-строительство | 0 | 20.10.2007 14:02 |