编写一个程序,创建一个两个状态的复选框,人们可以使用鼠标进行交互。
具体来说,您的程序应实现以下所有目的:
在屏幕上有一个8×8像素(或更大的像素)区域,该区域是复选框的可单击区域。此后,此区域简称为复选框。
当鼠标光标在复选框内移动并按下默认*鼠标按钮时,复选框应切换状态。
已检查变为未检查。未选中变为选中。切换复选框后,该复选框不应移动。
在选中状态,复选框可以是任何颜色。
在未检查状态下,复选框可以是任何颜色,只要至少16个像素在视觉上与已检查状态不同即可。
在一个程序实例中,所有选中状态在视觉上都应该彼此相同,而所有未选中状态在视觉上都应该彼此相同。
在程序被明确终止之前(例如,通过退出按钮或Alt + F4)不要结束程序,这样用户可以根据需要单击任意复选框。
*您可以假设默认鼠标按钮始终是左键单击,但是也可以使用由鼠标软件或操作系统定义的默认按钮,根据用户的不同,默认情况下可能不会真正单击鼠标左键。
笔记
复选框区域之外的内容无关紧要。它可能只是桌面。它可能是控制台的一部分,每次切换都会更改。
复选框以什么状态开始都没有关系。
复选框区域可以具有等于或大于8×8像素的任何尺寸。它不必是正方形的。
您可以为超出控制范围的设置(例如控制台字体大小,浏览器缩放,监视器分辨率等)留出少量余地。只要您的程序在合理的测试设置下运行,它就应该有效。
如果您的程序打开了一个窗口,则可以假定它已被拖动到屏幕上的适当位置(例如,左上角)。
您可以使用标记语言,例如HTML或其他我们通常不认为是成熟的编程语言的语言。
您的复选框必须是可使用默认鼠标按钮切换的。如果它还能切换其他形式的输入(例如,鼠标右键),也可以,鼠标移动除外。也就是说,如果仅在复选框内移动鼠标,则状态不应更改。
强烈建议您使用复选框的屏幕截图!
计分
以字节为单位的最短代码获胜。
例
一个23字节的规范HTML示例。
<input type="checkbox">
对我来说,在Google Chrome浏览器中,这会形成12×12像素的复选框,并且大约30像素会在选中状态和未选中状态之间明显变化。
我将浏览器缩放比例设为100%。