घर
Top.Mail.Ru Yandeks.Metrika
मंच: "अन्य";
वर्तमान संग्रह: 2017.02.26;
डाउनलोड करें: [xml.tar.bz2];

नीचे

TTouchKeyboard बनाने के लिए फोकस कैसे नहीं मिलता इसी तरह की शाखाएँ खोजें


ttUser ©   (2016-03-21 15:47) [0]

डेल्फी के अधिक या कम हाल के संस्करणों में एक TTouchKeyboard घटक है, जो एक आभासी कीबोर्ड है।

यदि घटक जहां आप पाठ दर्ज करना चाहते हैं, वह TTouchKeyboard के समान रूप में है, तो सब कुछ ठीक है।

लेकिन अगर आप "फ्लोटिंग" वर्चुअल कीबोर्ड को एक अलग रूप (1 फॉर्म) में बनाते हैं, तो एक समस्या पैदा होती है। हम इनपुट के लिए घटक पर ध्यान केंद्रित करते हैं (यह एक्सएनयूएमएक्स फॉर्म पर है)। फिर हम वर्चुअल कीबोर्ड की दबाते हैं और ध्यान 2 फॉर्म पर जाता है। इस स्थिति में, प्रतीक उस घटक में दर्ज नहीं होता है जो 1 फॉर्म पर है।

क्या मैं ऐसा कुछ कर सकता हूं, जिससे ध्यान 1 फॉर्म पर न जाए, वर्चुअल कीबोर्ड कहां है? लेकिन यह इनपुट घटक पर रहा।



sniknik ©   (2016-03-21 16:44) [1]

> 1 फॉर्म में नहीं गया,
ShowWindow (WindowHandle, SW_SHOWNOACTIVE);

लेकिन सामान्य तौर पर, मैं पैनल (यदि घटक) से एक आभासी कीबोर्ड बना / इनहेरिट करूँगा।



DayGaykin ©   (2016-03-21 17:13) [2]

एक कीबोर्ड के साथ एक फॉर्म के लिए:
प्रक्रिया TForm1.CreateParams (var Params: TCreateParams); शुरू करना विरासत में मिला; Params.ExStyle: = Params.ExStyle या WS_EX_NOACTIVATE; अंत;



ttUser ©   (2016-03-21 17:32) [3]


> ShowWindow (WindowHandle, SW_SHOWNOACTIVE);

मेरे पास मुख्य रूप है, इस पर TTouchKeyboard निहित है
मुख्य रूप से मैं करता हूं:

ShowWindow (स्व.हैंडल, SW_HIDE);
ShowWindow (स्व.हैंडल, SW_SHOWNOACTIVATE);

यह मदद नहीं करता है


> एक कीबोर्ड के साथ एक फॉर्म के लिए:

अच्छा समाधान है, लेकिन एक मजाक है। यह सभी ALIEN अनुप्रयोगों के लिए मान्य है। अर्थात्, इस प्रकार Excel में वर्ण दर्ज करना आसान है।
लेकिन अगर आपके पास एक ही एप्लिकेशन के दो रूप हैं, तो फ़ोकस कीबोर्ड के साथ फॉर्म में चला जाता है।

मुझे संदेह है कि कुछ वीसीएल संदेश अग्रेषित किए जा रहे हैं, लेकिन मैं इसका ठीक-ठीक पता नहीं लगा सका :(



sniknik ©   (2016-03-21 18:23) [4]

> मेरा मुख्य रूप है
मुख्य एक के लिए, सबसे अच्छा विकल्प है DayGaykin © (21.03.16 17: 13) [2] को फिर से दिखाने के बजाय ...

> तब फ़ोकस कीबोर्ड के साथ फॉर्म में जाता है।
?

> मुझे संदेह है कि कुछ वीसीएल संदेश को अग्रेषित किया जा रहा है
मुझे एक 17 लाइन की उपस्थिति और इसमें त्रुटियों के बारे में संदेह है।



ttUser ©   (2016-03-21 18:33) [5]


quoted1 >> तब फ़ोकस कीबोर्ड के साथ फॉर्म में जाता है।
> ???

और क्या स्पष्ट नहीं है?

हमारे पास 1 फॉर्म है और उस पर कीबोर्ड TTouchKeyboard है। हमारे पास एक्सएनयूएमएक्स फॉर्म है जिस पर इनपुट के लिए नियंत्रण स्थित है।

यदि 2 फ़ॉर्म किसी और के एप्लिकेशन (डॉल्फ़िन एक सहित) है, तो सब कुछ काम करता है। जब आप 1 फॉर्म पर कीबोर्ड पर क्लिक करते हैं, तो यह 1 फॉर्म फोकस नहीं होता है।

यदि एक आवेदन में आप 1 फॉर्म और 2 फॉर्म खोलते हैं, तो जब आप 1 फॉर्म पर स्थित कीबोर्ड पर क्लिक करते हैं, तो यह वैसे भी फोकस हो जाता है, हालांकि WS_EX_NOACTIVATE 1 फॉर्म के लिए सेट है



sniknik ©   (2016-03-21 18:56) [6]

ShowModal शो न करें या दूसरा रूप भी सक्रिय न करें ...

बल्कि, तर्क को बदलें, मुख्य बात को अधिक तार्किक जोड़ न बनाएं।



Dimka Maslov ©   (2016-03-21 19:25) [7]

मैं गलत हो सकता है, लेकिन मुझे WM_MOUSEACTIVATE संदेश को रोकना होगा



ttUser ©   (2016-03-22 11:27) [8]


> मैं गलत हो सकता है, लेकिन मुझे WM_MOUSEACTIVATE संदेश को रोकना होगा

सब कुछ काम कर गया!
शुक्रिया!



पन्ने: 1 पूरी शाखा

मंच: "अन्य";
वर्तमान संग्रह: 2017.02.26;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.58 एमबी
समय: 0.012 c
15-1458477503
MsGuns
2016-03-20 15:38
2017.02.26
एक्सेल-> एमएस SQL ​​सर्वर


2-1435144825
छाया
2015-06-24 14:20
2017.02.26
रिचएडिट: केवल आरटीएफ फ़ाइल से पाठ लोड कर रहा है


2-1434959523
कला
2015-06-22 10:52
2017.02.26
त्रुटि सूची सूचकांक बाध्य (0)


1-1348336174
crossmark
2012-09-22 21:49
2017.02.26
अजीब प्रवाह


15-1458564457
ttUser
2016-03-21 15:47
2017.02.26
TTouchKeyboard बनाने के लिए फोकस कैसे नहीं मिलता





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский