डेल्फी 2007 में, एक माउस की स्थिति में, मैं के साथ माउस कर्सर को बदलने की कोशिश:बाएं माउस बटन नीचे होने पर मैं माउस कर्सर कैसे बदलूं?
procedure TFr_Board_Display.PaintBox_Proxy_BoardMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if left_mouse_button_down then begin
if some_condition then begin
Cursor := crDrag;
end
else begin
Cursor := crNoDrop;
end;
end
else begin
if some_other_condition then begin
Cursor := crHandPoint;
end
else begin
Cursor := crDefault;
end;
end;
end;
उदाहरण के लिए
। हालांकि, जब बायां माउस बटन नीचे होता है, और मैं माउस को ले जाता हूं, तो कर्सर या तो crdrag या crNoDrop में परिवर्तित नहीं होता है। कोड निष्पादित किया गया है (उदा। कर्सर: = crDrag;) लेकिन कर्सर बदल नहीं है। जब बायां माउस बटन ऊपर होता है, और मैं माउस को ले जाता हूं, तो कर्सर कोई समस्या नहीं बदलता है।
(मैं मूल रूप से कुछ खींचें & ड्रॉप घटनाओं और गुणों का उपयोग करने की कोशिश की, लेकिन जिस तरह से मैं चाहता था काम करने के लिए सब कुछ नहीं मिल सकता है।)
संपादित करें: स्पष्ट वांछित व्यवहार, और स्वरूपित कोड।
संपादित करें: धन्यवाद, गेमकैट, लेकिन मैं कर्सर को बदलना चाहता हूं जब बाएं माउस बटन नीचे हो और जब माउस चल रहा हो कर्सर को crDrag और crNoDrop के बीच आगे और पीछे बदलना चाहिए।
अधिक जानकारी जोड़ा गया, इसलिए यह माउस चाल पर प्रयोग योग्य है। –