锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
ReadConsoleInput鏄竴涓猈in32 API錛?nbsp; 澹版槑濡備笅錛?/p>
BOOL ReadConsoleInput(
HANDLE hConsoleInput, //杈撳叆鍙ユ焺
PINPUT_RECORD lpBuffer, //鎸囧悜INPUT_RECORD緇撴瀯浣?鏁扮粍)鐨勬寚閽?/span>
DWORD nLength, //涓婇潰閭d釜緇撴瀯浣撶殑澶у皬
LPDWORD lpNumberOfEventsRead //瀹為檯璇誨叆杈撳叆鍐呭鐨勪釜鏁?/span>
);
鎴戞妸璇誨叆鐨勫姛鑳藉啓鍦ㄨ繖涓姪鎵嬬被涓紝ReadConsoleInput鐨勫緱鍒癡K_CODE鐨勬柟娉曞彲浠ョ湅ReadKeyDown鍜孯eadKeyPush涓や釜鍑芥暟錛屽畠浠殑鏁堟灉鐣ユ湁鐐逛笉鍚屻傚彸鍥炬槸鏁堟灉鎴浘錛屾寜ESC璺沖嚭寰幆銆傚姪鎵嬬被浠ュ悗榪樺彲浠ユ坊鍔犻鑹叉帶鍒朵綅緗帶鍒剁瓑鍔熻兘錛屽彧瑕佷綘鎯籌紝鐩殑灝辨槸涓轟簡綆鍖朅PI璋冪敤銆?/p>
#pragma once
#include <Windows.h>
class GohanConsoleHelper
{
HANDLE _hIn;
HANDLE _hOut;
INPUT_RECORD _InRec;
DWORD _NumRead;
public:
WORD VKey;
GohanConsoleHelper(void){
_hIn = GetStdHandle(STD_INPUT_HANDLE);
_hOut = GetStdHandle(STD_OUTPUT_HANDLE);
VKey=0;
}
bool ReadOneInput()
{
return 0!=ReadConsoleInput(_hIn,&_InRec,1,&_NumRead);
}
bool ReadOneInput(INPUT_RECORD& InRec)
{
return 0!=ReadConsoleInput(_hIn,&InRec,1,&_NumRead);
}
DWORD ReadKeyDown()
{
if(!ReadConsoleInput(_hIn,&_InRec,1,&_NumRead))
return 0;
if(_InRec.EventType!=KEY_EVENT)
return 0;
if(_InRec.Event.KeyEvent.bKeyDown > 0)
return 0;
VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;
return VKey;
}
DWORD ReadKeyPush()
{
if(!ReadConsoleInput(_hIn,&_InRec,1,&_NumRead))
return 0;
if(_InRec.EventType!=KEY_EVENT)
return 0;
if(_InRec.Event.KeyEvent.bKeyDown == 0)
return 0;
VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;
return VKey;
}
public:
~GohanConsoleHelper(void){}
};
main鎵鍦ㄦ枃浠跺唴瀹?/p>
#include <windows.h>
#include <iostream>
#include "GohanConsoleHelper.h"
using namespace std;
int main()
{
GohanConsoleHelper gch;
while (true)
{
if(gch.ReadKeyPush()!=0) //浣跨敤ReadKeyDown()鎹曡幏鎸夐敭寮硅搗鐨刅K_CODE
{
if(gch.VKey != VK_ESCAPE)
cout<<"VK_CODE == "<<gch.VKey<<endl;
else {
cout<<"Bye~~"<<endl;
break;
}
}
}
return 0;
}
鍦ㄥ懡浠よ寰楀埌VK_CODE鍙互騫茶澶氫簨鎯呬簡錛屽彲浠ュ啓涓湪Win32鍛戒護琛屼笅鐨勫皬娓告垙錛屼縿緗楁柉鏂瑰潡鍟婁粈涔堢殑錛屽懙鍛碉紝涓嶈繃鐢婚潰紼嶅井濂界偣鐨勫氨鎼炰笉浜嗕簡錛屽洜涓烘瘯绔焪in32鍛戒護琛屽垎杈ㄧ巼澶綆浜嗐?/p>
蹇樹簡鏀懼嚭鍙傝冪殑璧勬枡錛?/p>
http://adrianxw.dk/ 姣旇緝鍏ㄩ潰鐨刉in32鍛戒護琛屾暀紼?/p>
2銆佸叧鑱擡dit Box 鎺т歡錛岃繖涓垜寮勪簡鍗婂ぉ鎵嶆槑鐧斤紝棣栧厛瑕佸湪璧勬簮緙栬緫涓殑瀵硅瘽妗嗙紪杈戠晫闈紝璁懼畾Tab鎺т歡鐨勯『搴忥紙鏍煎紡->Tab閿『搴忥級銆?font color="#ff0000">灝咵dit Box鐨勫簭鍙瘋緗垚Up/Down鎺т歡搴忓彿鍑忎竴錛岃瀹歎p/Down鐨勫睘鎬uto Buddy涓篢rue錛孲et Buddy Integer涓簍rue銆?br>3銆佺幇鍦ㄥ凡緇忚兘澶熸甯哥殑浣跨敤Up/Down鍔熻兘浜嗐?br> 鍙槸濡傛灉涓嶆兂鐢ㄦ帶浠跺叧鑱?/font>錛岃屾槸鑷繁璁懼畾閫昏緫鎬庝箞鍔炲憿錛熷嚑涓皬鏃朵箣鍓嶆垜涓嶄細鍏寵仈鐨勬柟娉曪紝鎯寵鍔姏瀹炵幇鎵嬪姩緇存姢Edit box鐨勫姛鑳姐傛渶鍚庣粓浜庢湁浜嗕簺鏁欒錛屽緱鍒頒簡鐐瑰績寰楋細 鍦║p/Down鐨勭埗紿楀彛錛堜竴鑸槸瀵硅瘽妗嗭級鐨勬秷鎭鐞嗗嚱鏁頒腑錛屽WM_VSCROLL娑堟伅鍋氫竴涓鐞嗭紝褰搇Param涓嶶p/Down鐨勭獥鍙e彞鏌勭浉絳夋椂錛屽Up/Down鐨勬搷浣滅粨鏉?/font> 錛屽叾涓瓀Param涓殑楂樹綅閮ㄥ垎鏄疷p/Down鐨勫鹼紝鐢ㄨ繖涓兼潵鏇存柊Edit Box銆?br>WM_VSCROLL nScrollCode = (int)LOWORD(wParam); nPos = (short int)HIWORD(wParam); hwndScrollBar = (HWND) lParam; 浠婂ぉ鎴戠殑鏁欒鏄嬌鐢ㄤ簡WM_NOTIFY鐨勬秷鎭紝澶勭悊UDN_DELTAPOS鐨勯氱煡錛宭Param鏄竴涓粨鏋勶細NMUPDOWN錛岄氳繃榪欎釜緇撴瀯鏉ユ洿鏂癊dit box錛屽洜涓鴻繖涓氱煡涓嶇瓑鎿嶄綔緇撴潫灝卞凡緇忓彂鍑猴紝騫朵笖榪欎釜緇撴瀯浣撲腑鏈夊綋鏃剁殑浣嶇疆浠ュ強鍙樺寲閲忥紝鏇存柊鏃跺欒繕闇瑕佸皢褰撴椂浣嶇疆鍔犱笂鍙樺寲閲忋傝繖鏍風殑鏇存柊灝變細鍑虹幇涓瀹氱殑闂錛屾湁鏃跺檖os宸茬粡鍒頒簡璁懼畾濂界殑鑼冨洿杈圭晫錛宲os鍔犱笂鍙樺寲閲忓氨浼氳秴鍑鴻竟鐣岋紝榪樿緇х畫鍒ゆ柇錛屾晥鐜囩瓑絳夐棶棰樺氨鍑虹幇浜嗭紝鑰屼笖鍗佸垎楹葷儲銆傛墍浠ユ渶濂戒嬌鐢ㄥ叧鑱旂殑鏂規硶錛屽鏋滄湁鐗規畩瑕佹眰灝辯敤WM_VSCROLL鍝嶅簲錛?font color="#ff0000">鍗冧竾涓嶈浣跨敤UDN_DELTAPOS錛岀櫧鑺卞姛澶?/font>錛屽懙鍛點傚氨鍐欏埌榪欓噷. 浠婂ぉ鏄櫎澶曚簡錛岀鎵鏈夌▼搴忓憳鏈嬪弸鏂版槬蹇箰錛侊紒 |
If you load up the Sample Font's project and then select the \Content\TrueTypeFont.xml file and look at it's properties, you'll see the Content Importer and Content Processor's set. In your project, you'll need to do the following:
Then on the properties of the TrueTypeFont.xml file in your project
I did this by memory so just let me know if that doesn't do the trick and I'll dig through my project.
HTHs!
http://forums.xna.com/thread/4778.aspx
杈撳嚭(a^n)%k鐨勭粨鏋滐紙a鐨刵嬈℃柟琚玨闄ょ殑浣欐暟錛夛細
杈撳叆a,n,k錛?<=a,n<=1e9 1<=k<=10000 錛屾敞鎰忥細鏈夊緇勬祴璇曟暟鎹紝璇風敤EOF鏍囧織鍒ゆ柇緇撴潫杈撳叆錛夛細
2 32 5
2 30 5
杈撳嚭(a^n)%k鐨勭粨鏋滐紙a鐨刵嬈℃柟琚玨闄ょ殑浣欐暟錛夛細
瑕佹眰澶嶆潅搴︿負O錛坙ogn錛?br>
瑙e喅鎬濊礬,鍚冨睅鍏勭殑鎺ㄥ鐨?br>(a*b)Mod c=((a Mod c)*b)Mod c
a^b Mod c 鎶夿鍐欐垚浜岃繘鍒?At ,At-1,At-2...A1,A0)
a^b Mod c =(a^(At*2^t....A0*2^0)mod c)=
((a^A0*2^0 mod c)*a^A1*2^1mod c).....
t=log2B;
涓嬮潰鏄皬寮熺殑紼嬪簭