Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
 Аватар для мистер х
21 / 21 / 2
Регистрация: 11.01.2009
Сообщений: 110

Изменение выравнивания в EDIT control

02.06.2011, 17:09. Показов 4398. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как налету изменить выравнивание текста в edit
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2011, 17:09
Ответы с готовыми решениями:

Изменение Back Color у Edit Control со свойством Read Only
Всем доброго времени суток. Есть одна проблема, которая уже изрядно достала меня. Ни в какую не получается изменить цвет Edit Control со...

Slider control и edit control
Здравствуйте как мне получать значения с slider control и как на основе полученных значений устанавливать в edit control текст Вот такой...

Изменение выравнивания к подписям оси X в Chart
Впервые в VBA. Облазил всю справку, но не как не могу изменить выравнивание к подписям оси X и число категорий между подписями в VBA. ...

27
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
04.06.2011, 17:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bigredcat Посмотреть сообщение
В WinXP SP3 работает.
Это вопрос или утверждение? Ну у меня XP Pro (SP3), ноль по фазе...
В общем пока понятно.
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
04.06.2011, 17:55
Digit@ll, Это было утверждение. А приложение у вас компилируется?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
04.06.2011, 18:01
Та с компиляцией проблем нет. Текст как был слева, так и остался. Проверял на разных XP c SP3.
Уже и компилировал и в 6.0 и в 2008.
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
04.06.2011, 18:09
Странно очень, вы точно мое приложение скачали. Этот код
edit_align.cpp
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
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <tchar.h>
#include <windows.h>
#include "resource.h"
 
 
BOOL CALLBACK MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE, PTSTR pCmdLine, int nCmdShow)
{
    MSG msg;
    BOOL ret;
 
    HWND hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL,
        (DLGPROC)MainDlgProc);
 
    while ((ret = GetMessage(&msg, NULL, 0, 0)) != 0)
    { 
        if (ret == -1) break;
 
        if (!IsDialogMessage(hWnd, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
 
    return 0;
}
 
 
BOOL CALLBACK MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    static HWND hEdit;
    switch (uMsg)
    {
    case WM_INITDIALOG:
        ShowWindow(hWnd, SW_SHOW); // добавил сейчас (а раньше в настройках диалога устанавливал).
        hEdit = GetDlgItem(hWnd, IDC_EDIT);
        break;
 
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDOK:
            DestroyWindow(hWnd);
            break;
 
        case IDC_LEFT:
            SetWindowLongPtr(hEdit, GWL_STYLE, GetWindowLongPtr(hEdit,  GWL_STYLE) & ~0x0003L | ES_LEFT);
            InvalidateRect(hEdit, NULL, FALSE);
            UpdateWindow(hEdit);
            break;
 
        case IDC_CENTER:
            SetWindowLongPtr(hEdit, GWL_STYLE, GetWindowLongPtr(hEdit,  GWL_STYLE) & ~0x0003L | ES_CENTER);
            InvalidateRect(hEdit, NULL, FALSE);
            UpdateWindow(hEdit);
            break;
 
        case IDC_RIGHT:
            SetWindowLongPtr(hEdit, GWL_STYLE, GetWindowLongPtr(hEdit,  GWL_STYLE) & ~0x0003L | ES_RIGHT);
            InvalidateRect(hEdit, NULL, FALSE);
            UpdateWindow(hEdit);
            break;
 
        default:
            return FALSE;
        }
        break;
 
    case WM_CLOSE:
        DestroyWindow(hWnd);
        break;
 
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
 
    default:
        return FALSE;
    }
 
    return TRUE;
}
?
А что возвращают GetWindowLogPtr и SetWindowLongPtr?
0
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
04.06.2011, 23:56
Должно работать, да и в MFC сделано так же:
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
// Change a window's style
 
AFX_STATIC BOOL AFXAPI _AfxModifyStyle(HWND hWnd, int nStyleOffset,
    DWORD dwRemove, DWORD dwAdd, UINT nFlags)
{
    ASSERT(hWnd != NULL);
    DWORD dwStyle = ::GetWindowLong(hWnd, nStyleOffset);
    DWORD dwNewStyle = (dwStyle & ~dwRemove) | dwAdd;
    if (dwStyle == dwNewStyle)
        return FALSE;
 
    ::SetWindowLong(hWnd, nStyleOffset, dwNewStyle);
    if (nFlags != 0)
    {
        ::SetWindowPos(hWnd, NULL, 0, 0, 0, 0,
            SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | nFlags);
    }
    return TRUE;
}
 
BOOL PASCAL
CWnd::ModifyStyle(HWND hWnd, DWORD dwRemove, DWORD dwAdd, UINT nFlags)
{
    return _AfxModifyStyle(hWnd, GWL_STYLE, dwRemove, dwAdd, nFlags);
}
Добавлено через 1 час 41 минуту
На XP не работает, на 7 работает.
0
 Аватар для мистер х
21 / 21 / 2
Регистрация: 11.01.2009
Сообщений: 110
04.06.2011, 23:58  [ТС]
Цитата Сообщение от Nwq Посмотреть сообщение
На XP не работает, на 7 работает.
то что я и говорил...)))))
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
05.06.2011, 06:18
Да, странно это все. Судя по MSDN 2008 должно работать для любых edit control начиная с Win98, а для многострочных с Win95. Но у кого то вот не работает. Хотя я проверял в Windows XP Professional и Home Edition (RUS) с установленным SP3, все работает (правда, кроме SP3 установлены практически все обновления вышедшие после SP3). И в Windows XP Professional x64 Edition (ENU) с SP2 тоже работает.
0
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
05.06.2011, 11:58
Да, наверно из за обновлений, я проверял на XP SP3 без обновлений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2011, 11:58

Изменение выравнивания при выходе текста за пределы контейнера
Добрый день! Подскажите, пожалуйста, как можно реализовать следующую конструкцию: Текст находится в блоке, выравнивание по центру. При...

Создание Edit Control
Всем добрый день. Попытаюсь подробно объяснить суть проблемы. (MSV 2010) Когда мы создаем Dialog, то можем туда добавить элементы из...

MFC и Edit control
У меня есть MFC проект, есть поле ввода CEdit. Как получить из него строку и переконвертировать в число? Нереальная проблема.

MFC и Edit control
Я уже спрашивал как получить строку из CEdit и перевести в число. Умный человек ответил. А из числа в строку, чтобы можно было в...

MFC и Edit Control
Здравствуйте. Скажите как проверить Edit Control - введено в него число или буква?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru