Danh mục

Giáo trình lập trình C cho Winform- P8

Số trang: 5      Loại file: pdf      Dung lượng: 234.49 KB      Lượt xem: 10      Lượt tải: 0    
10.10.2023

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Giáo trình lập trình C cho Winform- P8: Các ứng dụng của Windows rất dễ sử dụng, nhưng rất khó đối với người đãtạo lập ra chúng. Để đạt được tính dễ dùng đòi hỏi người lập trình phải bỏra rất nhiều công sức để cài đặt.
Nội dung trích xuất từ tài liệu:
Giáo trình lập trình C cho Winform- P8 Bài 3:Các thiết bị nhập liệu Trần Minh Thái123 // the current line.124 if (nCaretPosX > 0)125 {126 HideCaret(hwndMain);127 // Retrieve the character to the left of128 // the caret, calculate the characters129 // width, then subtract the width from the130 // current horizontal position of the caret131 // to obtain the new position.132 ch = pchInputBuf[--nCurChar];133 hdc = GetDC(hwndMain);134 GetCharWidth32(hdc, ch, ch, &nCharWidth);135 ReleaseDC(hwndMain, hdc);136 nCaretPosX = max(nCaretPosX - nCharWidth, 0);137 ShowCaret(hwndMain);138 }139 break;140 case VK_RIGHT: // RIGHT ARROW141 // Caret moves to the right or, when a carriage142 // return is encountered, to the beginning of143 // the next line.144 if (nCurChar < cch)145 {146 HideCaret(hwndMain);147 // Retrieve the character to the right of148 // the caret. If its a carriage return,149 // position the caret at the beginning of150 // the next line.151 ch = pchInputBuf[nCurChar];152 if (ch == 0x0D)153 {154 nCaretPosX = 0;155 nCaretPosY++;156 }157 // If the character isnt a carriage158 // return, check to see whether the SHIFT159 // key is down. If it is, invert the text160 // colors and output the character.161 else162 {163 hdc = GetDC(hwndMain);164 nVirtKey = GetKeyState(VK_SHIFT);165 if (nVirtKey & SHIFTED)166 {167 crPrevText = SetTextColor(hdc,168 RGB(255, 255, 255)); Bài giảng: Lập trình C for Win .............................................................................................Trang 36/69 Bài 3:Các thiết bị nhập liệu Trần Minh Thái169 crPrevBk = SetBkColor(hdc,170 RGB(0,0,0));171 TextOut(hdc, nCaretPosX,172 nCaretPosY * dwCharY,173 &ch, 1);174 SetTextColor(hdc, crPrevText);175 SetBkColor(hdc, crPrevBk);176 }177 // Get the width of the character and178 // calculate the new horizontal position of the caret.179 GetCharWidth32(hdc, ch, ch, &nCharWidth);180 ReleaseDC(hwndMain, hdc);181 nCaretPosX = nCaretPosX + nCharWidth;182 }183 nCurChar++;184 ShowCaret(hwndMain);185 break;186 }187 break;188 case VK_UP: // UP ARROW189 case VK_DOWN: // DOWN ARROW190 MessageBeep((UINT) -1);191 return 0;192 case VK_HOME: // HOME193 // Set the carets position to the ...

Tài liệu được xem nhiều: