С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
#1

Win32 API ввод текста в окно. - C++

19.12.2009, 19:12. Просмотров 1329. Ответов 0
Метки нет (Все метки)

помогите нсатроить правильгное стирание символа пожалуйста.
каретка текст затирает не равномерно при нажатии [backspace]. Слишком малое пространство закрашивается, хотя сама каретка переходит на правлеьное расстояние (ширина символа перед кореткой). Надо закрасить предыдущую букву, удалить её из массива считанных чисел, и поставить каретку до этого предыдущего символа.
плохо стирает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
LONG APIENTRY WindowProcedure(HWND hwndMain, UINT uMsg, WPARAM wParam,LPARAM lParam)
//...
   case WM_CHAR:
                switch (wParam) {
         case 0x08: /*при нажатии [backspace] Г*Г* ñèìâîë Г*Г*Г§Г*Г¤ */
                HideCaret(hwndMain);
                hdc = GetDC(hwndMain);
                GetCharWidth32(hdc, (UINT) ch, (UINT) ch, &nCharWidth);
                ch=char(255);//пустой знак
                TextOut(hdc,
                    //вот тут вычиляю - начиная с какого места рисовать пустой знак.
                            nCaretPosX=nCaretPosX-nCharWidth, 
                            nCaretPosY * dwCharY, 
                            &ch, 1);
                SetCaretPos(nCaretPosX, nCaretPosY * dwCharY); 
                ShowCaret(hwndMain);
                ReleaseDC(hwndMain, hdc);
 
         /* очищаем буфер */
                pchInputBuf[cch] = ' ';
                cch--; //индекс буфера.               
                return 0;
//...
как сделать, чтобы закрашивался весь символ который коретка должна стереть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 19:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Win32 API ввод текста в окно. (C++):

Обработка сообщений в win32 api - C++
Написал программу которая после ввода в поле edit текста exit и нажатия на кнопку выходит из программы, но почему то не работает. Вот...

Окно Windows/Linux на с++ без всяких api - C++
Основная суть вопроса в заголовке.теперь пояснения. Как сделать окно на чистом С++без всяких opengl,winapi просто имея Пакет языка с++ и...

Нужна программа для ввода текста в окно любого чата - C++
Доброго времени суток, хотел бы сделать программму для вывода текста в чат и отправки. Не судите строго.

С++ Builder и потоки (win32 api) - C++ Builder
При обращении к компоненту из другого потока приложение зависает. Перед обращением первичный поток, создавший компонент переводится в...

Вставка текста в чужое окно - C++ Builder
У меня есть чужая программа в которой имеется пустое поле для ввода в котором есть описание "Введите текст". Мне нужно написать в нем...

Ввод текста на рисунок - C++ Builder
как можно сделат что бы либо Edit был прозрачным, либо что бы на определенный участок рисунка можно было вводить символы?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 19:12
Привет! Вот еще темы с ответами:

Ввод данных и вывод текста TRUE - C++ Builder
Добрый день, помогите плиз сделать прогу, буду благодарен, вот задание: Разработать программу, которая вводит данные и выводит текст...

Ввод текста в РичЭдит1 и вызов формы1 - C++ Builder
Здравствуйте форумчани!! Вопрос в следующем. Подскажите можно с помощью текста введенного в RichEdit1 вызвать Form1, т.е. при нажатии...

Не создается дочернее окно WIN32 Api - C++ WinAPI
Не создается дочернее окно. Выдается ошибка: error LNK2019: ссылка на неразрешенный внешний символ "long __stdcall ChildWndProc(struct...

Файловый ввод/вывод средствами Win32 API - Delphi
Уважаемые программисты, если кому не трудно помогите написать программу. Большие проблемы из-за неё с зачётом. Разработать консольное...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.