- •Int pascal WinMain (hinstance hInst, hinstance hPreInst,
- •If(!hPreInst)
- •Int pascal WinMain (hinstance hInst, hinstance hPreInst,
- •If(!hPreInst)
- •ValidateRect(hWnd, null);
- •ValidateRect(hWnd, null);
- •ValidateRect(hWnd, null);
- •If(!hPreInst) {
- •ValidateRect(hWnd, null);
- •If(!hPreInst){
- •If(!hPreInst){
- •ValidateRect(hWnd, null);
- •If(!hPreInst){
- •If(!hPreInst){
- •ValidateRect(hWnd, null);
- •If(!hPreInst){
- •ValidateRect(hWnd, null);
- •If(!hPreInst){
- •ValidateRect(hWnd, null);
- •If(!hPreInst){
- •// Resource.H
- •If(!hPreInst)
If(!hPreInst){
///…
wcApp.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
///…
if(!RegisterClass(&wcApp))
return 0;
}
///…
while(GetMessage(&lpMsg, NULL, 0, 0)){
///…
}
///…
}
LRESULT CALLBACK WINAPI WndProc(HWND hWnd, UINT messg,
WPARAM wParam, LPARAM lParam)
{
///…
TEXTMETRIC tm;
///…
WCHAR lpszSearchFile[] = L"*.*";
int i ;
int charht = 16;
static int OldVPos, NewVPos;
static int yClientView;
switch(messg){
case WM_CREATE:
hdc = GetDC(hWnd);
GetTextMetrics(hdc, &tm);
charht = tm.tmHeight + tm.tmExternalLeading;
ReleaseDC(hWnd, hdc);
SetScrollPos(hWnd, SB_VERT, NewVPos, FALSE);
SetScrollRange(hWnd, SB_VERT, 0, SCROLLLINES, TRUE);
InvalidateRect(hWnd, NULL, TRUE);
break;
case WM_SIZE:
yClientView = HIWORD(lParam);
case WM_VSCROLL:
#ifdef _WIN32
switch(LOWORD(wParam)){
#else
switch(wParam){
#endif
case SB_PAGEDOWN:
OldVPos = GetScrollPos(hWnd, SB_VERT);
SetScrollPos(hWnd, SB_VERT, (OldVPos + 10), TRUE);
NewVPos = GetScrollPos(hWnd, SB_VERT);
break;
case SB_LINEDOWN:
OldVPos = GetScrollPos(hWnd, SB_VERT);
SetScrollPos(hWnd, SB_VERT, (OldVPos + 1), TRUE);
NewVPos = GetScrollPos(hWnd, SB_VERT);
break;
case SB_PAGEUP:
OldVPos = GetScrollPos(hWnd, SB_VERT);
SetScrollPos(hWnd, SB_VERT, (OldVPos - 10), TRUE);
NewVPos=GetScrollPos(hWnd, SB_VERT);
break;
case SB_LINEUP:
OldVPos = GetScrollPos(hWnd, SB_VERT);
SetScrollPos(hWnd, SB_VERT,(OldVPos - 1), TRUE);
NewVPos = GetScrollPos(hWnd, SB_VERT);
break;
case SB_THUMBPOSITION:
OldVPos = GetScrollPos(hWnd, SB_VERT);
#ifdef _WIN32
NewVPos = HIWORD(wParam);
#else
NewVPos = wParam;
#endif
SetScrollPos(hWnd, SB_VERT, NewVPos, TRUE);
break;
}
InvalidateRect(hWnd, NULL, TRUE);
break;
case WM_COMMAND:
switch(LOWORD(wParam)){
case IDM_AFILES:
wcscpy(szMyfile, L"a:");
break;
case IDM_BFILES:
wcscpy(szMyfile, L"b:");
break;
case IDM_CFILES:
wcscpy(szMyfile, L"c:\\");
break;
case IDM_DFILES:
wcscpy(szMyfile, L"d:\\");
break;
default:
break;
}
InvalidateRect(hWnd, NULL, TRUE);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
//-----Начало фрагмента пользователя-----
i = 0;
SetCurrentDirectory(szMyfile);
hFindFile = FindFirstFile((LPCTSTR)lpszSearchFile, &ffd);
swprintf(szMessage,
L"%3d %s",
i, ffd.cFileName);
TextOut(hdc, 0, charht * (i - NewVPos),
szMessage, (int)wcslen(szMessage));
i++;
for(;;){
fRC = FindNextFile(hFindFile, &ffd);
if(fRC==FALSE){
FindClose(hFindFile);
break;
}
else
swprintf(szMessage,
L"%3d %s",
i, ffd.cFileName);
TextOut(hdc, 0, charht * (i - NewVPos),
szMessage, (int)wcslen(szMessage));
i++;
}
//-----Конец фрагмента пользователя-----
ValidateRect(hWnd, null);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd, messg, wParam, lParam));
}
return(0);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DIALOG1
// RESOURCE.H
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by dialog1.rc
//
#define IDR_MENU1 102
#define IDD_DIALOGBAR 103
#define IDC_BUTTON1 1002
//#define IDOK 1004
#define IDM_ABOUT 40001
#define ID_LNFORMATION_EXIT 40002
#define IDM_EXIT 40003
#define IDD_AAAAA 40003
#define IDD_ABOUTBOX 40003
// *.RC
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MENU1 MENU
BEGIN
POPUP "&lnformation"
BEGIN
MENUITEM "&About Box...", 40001
MENUITEM "E&xit", IDM_EXIT
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOGEX 0, 0, 234, 75
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "AboutDiaBox"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Okay",IDOK,154,14,50,14
LTEXT "ABOUT Dialog Box",IDC_STATIC,30,15,69,8
LTEXT "by",IDC_STATIC,30,23,69,8
LTEXT "Beloded N.I.",IDC_STATIC,30,32,69,8
LTEXT "СТУДЕНТ - ДВИГАТЕЛЬ ПРОГРЕССА БЕЗ ТОРМОЗОВ",IDC_STATIC,30,51,176,8
END
// *.СPP
// dialogl.cpp
// Создает простое диалоговое окно ABOUT
//
#include <windows.h>
//#include "dialogl.h"
#include "resource.h"
#include <tchar.h> // _T
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
BOOL CALLBACK AboutDiaProc(HWND, UINT, WPARAM, LPARAM);
char szProgName[] = "ProgName";
//char szApplName[] = "AboutMenu";
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPreInst,
LPSTR lpszCmdLine,int nCmdShow)
{
HWND hWnd;
MSG lpMsg;
WNDCLASS wcApp;
