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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возведение в стрепень, рекурсивная функция. http://www.cyberforum.ru/cpp/thread76634.html
Задание: написать рекурсивную функцию, которая возводит число в степень путем многократного умножения числа самого на себя. (Сам знаю, что можно сделать гораздо проще и оптимальнее, но надо именно через рекурсию). :( P. S. На этот раз программа действительно не работает. :) #include <iostream> using namespace std; int stepenj(int num, int degr)
C++ Функция даны действительные числа s,t. Получить: http://www.cyberforum.ru/cpp/thread76505.html
C++ Что такое стрип?
Говорят, релизные бинарники надо стрипать. А что такое стрип и как его делать?
Есть программа (замена строк), надо как-то доработать. C++
Программа компилируется, однако при зауске, выдает ошибку: "Segmentation fault" Программа меняет две строки Name1 и Name2. Нужно, чтобы была именно с указателями, а также чтобы внешная функция меняла местами значения Name1 и Name2 Код: #include <iostream> #include <string.h> using namespace std;
C++ Семестровая Программа http://www.cyberforum.ru/cpp/thread76395.html
у меня на семестровой такая тема : Программа для библиотеки. Продумать какая информация должна храниться в библиотеке, и какого рода обработка возможна (например, выдать карточку на книгу, выдать по пользователю сколько книг он брал и т.д.) 1.карточка для пользователя библиотеки 2.инфа о пользователе 3.вид залога 4.сколько книг взято 5.какие взяты 6.когда взяты 7.цена проката книги за...
C++ Интерполяция Ньютона с равномерными интервалами Написать програаму по теме "Интерполяция Ньютона с равномерными интервалами" задаются значение узлов и значение точек и ищем интерполяцию функции кто нибудь сможет мне помочь?) подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567

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

19.12.2009, 19:12. Просмотров 1302. Ответов 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;
//...
как сделать, чтобы закрашивался весь символ который коретка должна стереть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru