প্রোগ্রামিং উত্পাদনশীলতা: টাইপ করার সময় কার্সারটি কীভাবে আড়াল করবেন


9

যখনই আমি কোনও কোড টাইপ করতে কোথাও ক্লিক করি, সংজ্ঞা অনুসারে ঠিক আমার মাউস কার্সারটি যেখানে আমি টাইপ করার চেষ্টা করছি তা অস্পষ্ট করে দিচ্ছে। প্রায়শই, যদি আমি টাইপ করা শুরু করার আগে কার্সারটিকে সরিয়ে নিতে ভুলে যাই তবে আমি কার্সারটিকে অন্যদিকে সরিয়ে নিতে নিজের কীবোর্ড থেকে আমার হাতটি আমার মাউসে ফিরিয়ে আনতে এবং তারপরে টাইপিংয়ে ফিরে যেতে দেখি।

আমি জানি যে একটি টাইপ করার সময় একটি ওএস-স্তরের "লুকান কার্সার" বিকল্প রয়েছে তবে ভিজ্যুয়াল স্টুডিওতে এর কোনও প্রভাব নেই বলে মনে হয়।

এছাড়াও, আমি এমন ইউটিউটিসগুলি সম্পর্কে জানি যা পটভূমিতে নিয়মিত চলতে পারে (আই কার্সারহাইডার ), তবে, স্থিতিশীলতার কারণে আমি ইতিমধ্যে চলমান অনেকের উপরে আবার একটি ব্যাকগ্রাউন্ড পরিষেবা চালাতে দ্বিধা বোধ করছি।

একটি সমাধান আছে কি?


Superuser.com এর জন্য দুর্দান্ত প্রশ্ন। :-)
ফ্রেঞ্চি পেনভ

ঠিক আছে, আপনি একটি ম্যাক ব্যবহার করতে পারেন ...
dmckee

আমার জন্য, মাউসকে সরিয়ে নেওয়া এমন একটি প্রতিচ্ছবি যা আমি এমনকি ভাবি না। (এটি হ'ল যতক্ষণ না আমি নিয়মিত সম্পাদক ব্যবহার করা বন্ধ করে দিয়ে
ভিএম

উত্তর:


5

আপনার মত, আমি এই সমস্যাটি চিরকালই পেয়েছি। সুতরাং আমি একটি ছোট স্ক্রিপ্ট লিখেছি যা আপনি উইন্ডোজ অ্যাপ্লিকেশনটি ব্যবহার করছেন তা বিবেচনা না করে মাউস কার্সারটি আড়াল করে।

মনে রাখবেন যে আপনি যদি ভিজ্যুয়াল স্টুডিও (বা অন্য কোনও কিছু) এলিভেটেড মোডে চালান তবে আপনাকে আমার ইউটিলিটিটি এলিভেটেড মোডেও চালাতে হবে।


এ জাতীয় একটি শক্তিশালী পদ্ধতি সব পরিস্থিতিতে সঠিক কিনা তা নিয়ে আমার সন্দেহ আছে। যখনই কোনও কী টাইপ করা হয় তখন কার্সারটি অদৃশ্য হয়ে যায় উদাহরণস্বরূপ গেমগুলির সাথে খুব বিরক্তিকর হতে পারে।
harrymc

সেক্ষেত্রে আপনি কেবল একটি গেমের সময় এটি আনলোড করতে পারেন ... যা বলেছিল, আমি বিশ্বাস করি বেশিরভাগ গেমগুলি তাদের নিজস্ব কার্সার প্রয়োগ করে
স্টেফান জেড ক্যামিলারি

উইন্ডোজ-কার্সার-হাইডার এখনও পর্যন্ত ভাল কাজ করে। আমি এএইচকে স্ক্রিপ্টের মতো সহজ কিছু সন্ধান করছিলাম। ধন্যবাদ @ স্টেফান জেড ক্যামিলারি!
8:21

3

দেখে মনে হচ্ছে "টাইপ করার সময় লুকানো পয়েন্টার" এর কার্যকারিতা অ্যাপ্লিকেশনটির উপর নির্ভর করে।

এই বিকল্পটি আমার মাউসের পয়েন্টার বিকল্পগুলিতে টিকযুক্ত এবং নোটপ্যাড, ওয়ার্ডপ্যাড, ওয়ার্ড এবং ভিজ্যুয়াল স্টুডিও 6.. এর মতো অ্যাপ্লিকেশনগুলির জন্য কাজ করে তবে এটি ফায়ারফক্স এবং ভিজ্যুয়াল স্টুডিও ২০০৮ এর মতো অন্যান্য অ্যাপ্লিকেশনগুলির জন্য কাজ করে না।

আমি বিশ্বাস করি যে অ্যাপ্লিকেশনগুলিতে এটি কাজ করে না সেগুলি বারবার কার্সারটি দেখানোর জন্য ভুলভাবে প্রোগ্রাম করা হয়েছে। প্রোগ্রামার হিসাবে, আমি আপনাকে বলতে পারি যে উইন্ডোজটিতে কার্সার প্রোগ্রামিং করা একটি বিরাট গণ্ডগোল, যেখানে অবশেষে বুদ্ধিমান থাকার একমাত্র উপায় বার বার নির্দিষ্ট কিছু ঘটনার উপর কার্সারটিকে পুনঃস্থাপন করা। স্পষ্টতই, ভিজ্যুয়াল স্টুডিও ২০০৮ এর পিছনে প্রোগ্রামাররা একই শর্টকাট নিয়েছে।


যদিও এটি একটি ভুল অনুমান, যেহেতু আপনি যদি কোনও ওএস স্তরে কার্সারটি আড়াল করেন তবে এটি লুকিয়ে থাকবে, কার্সারটি প্রদর্শন করতে বাধ্য করার ধারণাটি ভঙ্গ করে (যা এটি ওভাররাইড করবে) - নীচে আমার উত্তরটি দেখুন
স্টেফান জেড ক্যামিলারি

1

আমি জানি এটি সম্ভবত আপনার পক্ষে কার্যকর সমাধান নয় তবে আমি আইডিই-র মধ্যে সমস্ত কিছুর জন্য কী বাঁধাই করে মাউসটি মোটেও ব্যবহার করতে চাই না। আমি মাউস স্পর্শ না করেই ফলক থেকে ফলকে, ত্রুটিতে ত্রুটি ইত্যাদিতে লাফ দিতে পারি। এছাড়াও যদি আপনার ক্লাসগুলি খুব ভাল এবং ছোট হয় তবে আপনার খুব বেশি উপরে স্ক্রল করতে হবে না ক্লাসগুলি (এবং এমনকি যদি আপনার তীর কীগুলি যথেষ্ট ছিল)।


0

আপনি সম্পাদনা নিয়ন্ত্রণের প্যারেন্ট উইন্ডোটির ডাব্লুএনডিপ্রোকে EN_UPDATE ধরার সাথে সাথে কার্সারের অবস্থান নির্ধারণ করে "টাইপ করার সময় পয়েন্টারটি গোপন করুন" এড়াতে পারবেন:

void CreateEdit( HWND hWnd )
{

    WNDCLASSEX wndClass;

    memset( &wndClass, 0, sizeof( wndClass ) );

    wndClass.cbSize = sizeof( wndClass );
    wndClass.style = CS_SAVEBITS;
    wndClass.lpfnWndProc = WndProcEditParent;
    wndClass.cbClsExtra = 0;
    wndClass.cbWndExtra = 0;
    wndClass.hInstance = GetModuleHandle( NULL );
    wndClass.hIcon = NULL;
    wndClass.hCursor = NULL;
    wndClass.hbrBackground = NULL;
    wndClass.lpszMenuName = NULL;
    wndClass.lpszClassName = L"EditParent";

    RegisterClassEx( &wndClass );

    HWND hWndEditParent = CreateWindowEx( 0
        , L"EditParent"
        , L""
        , WS_CHILD | WS_BORDER
        , 0
        , 0
        , 0
        , 0
        , hWnd
        , NULL
        , GetModuleHandle( NULL )
        , 0 );

    HWND hWndEdit = CreateWindowEx( 0
        , L"Edit"
        , L""
        , WS_CHILD
        , 0
        , 0
        , 0
        , 0
        , hWndEditParent
        , NULL
        , GetModuleHandle( NULL )
        , 0 );

    ...
}


LRESULT CALLBACK Edit::WndProcEditParent( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
    switch( iMessage )
    {
        ...
        case WM_COMMAND:
            if( HIWORD( wParam ) == EN_UPDATE )
            {
            // this is the hack to avoid "hide pointer while typing"
                POINT point;

                GetCursorPos( &point );
                SetCursorPos( point.x, point.y );
            }
            break;
        ...
    }

    return DefWindowProc( hWnd, iMessage, wParam, lParam );
}

1
এটি সত্যিই দুর্দান্ত উত্তর হতে পারে তবে এটি কীভাবে ব্যবহার করতে হয় সে সম্পর্কে আমার কোনও ধারণা নেই। দয়া করে একটি ব্যাখ্যা যুক্ত করুন। মন্তব্যে সাড়া দেবেন না;  আপনার উত্তরটি আরও পরিষ্কার এবং আরও পরিপূর্ণ করতে সম্পাদনা করুন।
জি ম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.