Форум программистов, компьютерный форум CyberForum.ru

Преобразование const char* в LPCTSTR VisualStudio2010 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как оформить это на с++? (протабулировать функцию) http://www.cyberforum.ru/cpp-beginners/thread766329.html
На интервале с шагом E протабулировать функцию y=x^n! нужно сделать это используя функции и без стандартных
C++ Помогите устранить ошибку в коде. Здравствуйте не могу понять почему в программе в строке 54 выдает ошибку. У меня в классе массив указателей объявлен как Static. #ifndef DATE_H #define DATE_H class date { public: date(int = 1, int = 1, int = 1990); date(int = 1, int = 1990); date(char *,int , int); http://www.cyberforum.ru/cpp-beginners/thread766317.html
C++ Почему вектор с типом определенным пользователем не выводиться на экран?
народ короче я не могу вывести решение задачи на экран Была задача: Напишите программу, в которую сначала вводится набор пар, состоящих из имени и значения, например Joe 17 и Barbara 22. Для каждой пары занесите имя в вектор names, а число — в вектор scores (в соответствующие позиции, так что если names «в"Joe", то scores ==17). Прекратите ввод, введя строку No more (т.е. следующая...
Насчет оператора присваивания C++
Есть следующий код : #include <iostream> using namespace std; class Array { private: size_t mysize; int *mydata; public: Array(size_t size);
C++ Рекурсивная функция http://www.cyberforum.ru/cpp-beginners/thread766299.html
Здраствуйте, пытаюсь написать лабу для нахождения пути в лабиринте, выбрал волновой алгоритм Ли. Для начала хочу просто заполнить матрицу фронтов волн рекурсивно void Front(int **arr, const int m, const int sx, const int sy) { if(sx==9) return; if(sy==10) return; // if(sx==0) return; // if(sy==-1) return;
C++ Ошибка undefined reference to `PlaySoundA@12' ld returned 1 exit status простите за название темы, но форум не дает мне назвать ее "проблемы с PlaySound".. постоянно ошибку дает что запрещено использовать русские и английские буквы в слове. #include <Windows.h> #include <mmsystem.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static char... подробнее

Показать сообщение отдельно
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
19.01.2013, 16:54     Преобразование const char* в LPCTSTR VisualStudio2010
вот код для студии:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <Windows.h>
#include <mmsystem.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    static LPCTSTR szAppName=L"HelloWin";
    HWND    hwnd;
    MSG     msg;
    WNDCLASSEX wc;
 
    wc.cbSize=sizeof(wc);
    wc.style=CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc=WndProc;
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.hInstance=hInstance;
    wc.hIcon=LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor=LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground=static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
    wc.lpszMenuName=0;
    wc.lpszClassName=szAppName;
    wc.hIconSm=LoadIcon(NULL, IDI_APPLICATION);
    
    RegisterClassEx(&wc);
    LPCTSTR mes=L"The hello world programm";
    hwnd=CreateWindow(szAppName, mes, WS_OVERLAPPEDWINDOW,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      0,
                      0,
                      hInstance,
                      NULL);
    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);
    
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    
    return msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    LPCTSTR mes1=L"Hello world!";
    switch (iMsg)
    {
        case WM_PAINT:
            hdc=BeginPaint(hwnd, &ps);
            GetClientRect(hwnd, &rect);
            DrawText(hdc, mes1, -1, &rect, DT_SINGLELINE | DT_CENTER |DT_VCENTER);
            EndPaint(hwnd, &ps);
            return 0;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
    }
    return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
она этот код берет нормально, а вот код, который она не берет, но бере Dev-C++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <Windows.h>
#include <mmsystem.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    static char szAppName[]="HelloWin";
    HWND    hwnd;
    MSG     msg;
    WNDCLASSEX wc;
 
    wc.cbSize=sizeof(wc);
    wc.style=CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc=WndProc;
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.hInstance=hInstance;
    wc.hIcon=LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor=LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground=(HBRUSH) GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName=0;
    wc.lpszClassName=szAppName;
    wc.hIconSm=LoadIcon(NULL, IDI_APPLICATION);
    
    RegisterClassEx(&wc);
    
    hwnd=CreateWindow(szAppName, "The hello world programm", WS_OVERLAPPEDWINDOW,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      0,
                      0,
                      hInstance,
                      NULL);
    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);
    
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    
    return msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    
    switch (iMsg)
    {
        case WM_CREATE:
            PlaySound("helloWin.wav", NULL, SND_FILENAME | SND_ASYNC);            
            return 0;
        case WM_PAINT:
            hdc=BeginPaint(hwnd, &ps);
            GetClientRect(hwnd, &rect);
            DrawText(hdc, "Hello world!", -1, &rect, DT_SINGLELINE | DT_CENTER |DT_VCENTER);
            EndPaint(hwnd, &ps);
            return 0;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
    }
    return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
разница в том, что в деве нормально используется тип const char*, а в студии нет, там надо создавать строки в LPCTSTR... но для этого придется каждое сообщение описывать в отдельной переменной... может есть какой-то другой способ для использования записей типа DrawText(hdc, "Hello world!", -1, &rect, DT_SINGLELINE | DT_CENTER |DT_VCENTER); в студии??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru