[ucgui] 对话框8——Framewin小工具
>_<" 这里主要是窗口小工具Framewin的用法介绍,包括创建背景窗口及其消息回调函数,创建Frame窗口并设置其回调函数,这里一些其他的功能被我注释掉了,有向状态栏添加最大最小按钮的操作,改变标题文本相关设置,设置标题可见性等~注意这里GUI_Delay();很重要,否则会黑屏~
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzAAAAIGCAIAAAAEPv1IAAAgAElEQVR4nO3dS3BU18En8F7PikrK+0xlkqnKfqq+vTZZBG1QmFRZ+MvMfCPAD57iYVgMdoJ52Rjsr/J2ENipcjCJIRPHxsQ2YN4GxEM8jMQbA8LK4xuymamZYhYttbr7nr59+6q5B9q/X/1L1Tp97zmn75Wr/yXJovTs8pV/BwAgntL8FStLVaYDAFCIyQa2YOXKShXr7u5+ddPm46cu3rj9NxERERF5SBm+cnPnrl3d3d3jtWzhypXlNvbUU/989MS5T04Mi4iIiEgBuTh8/amn/nn69Onj3yHr7u4+euLcJydHRERERKSwXBy+3t3dXZq/cuX06dNfemn93pMjIiIiIlJw3n77ndKzy1dOnz79+KmL+wYvi4iIiEjBGR27X5q7ZOX06dNHx+7vO3VFRERERArO6Nj90uxF44Vs/6krIiIiIlJwRsful/oWjheyT09fFREREZGCMzp2v9S3YLyQHThzTUREREQKTs13yA6evR7Mv/8P3x7N7L39JxvNIyIiIh2cDw+d/9ct7/1o49vtzb9uee/DQ+c7aYlkRsful+YsblLIRkdH92Y2bdq06F8QIiIiUnw2/OTdPQfOnB7+or3Zc+DMhp+820lLJDM6dr/09NLxQnZo6EYw5UI2MDCwc8KtW7dGR4cqqYwfPHhw2rRpjeYRERGRDs6PNr49+Pmtjz671N4Mfn7rRxvf7qQlkhkduz/+d8hGx+4fPnczmHIh27lz5969e//xj3985zulJ56oybRp06ZNm1YpZI3mkVZyYu3snkXbi1pu75Ynu+et3Zv39O1rumZv+UNrZ/1pUfeaN+JfZxERaVt+/OpvT1/64uPjw+3N6Utf/PjV30Zc4qPjlz46fmni8fDHx4c//qw2x4c/Pn7p488qH4c/Oj751EfHhz+qXSKZ0bH743+pf3Ts/pHzt4KpLmQPHgw98USpVHq6nE8++XdDQ6WhodLTT5cqhaz29JPrZvcs3pGc9v3F3T1d5fyP9ytHdlUGu9f8usF+xk+fveWP528d2bHmyZ+cTMw5b92+0Fn7tjw5MX/VloJnBQdPrpud2NW+LU9290zuoYUl0jfW6Lq1JbWXevaWP+7b8mSjvWXJjjVd5dtRO3Pq/t9f3OQW502TW1C9aHBQRERy5sev/vb0yJ1PTl5ub06P3Pnxq7/NssTqjW/MmNnXKKs3vtHCEidGPjkx/MmJkaoMf3xiZPXGX1VN+KtPjo+sfuWNmiVOjHx8fGTi9OHxx8dHqpdIZnTsfmnBRCE7euGLYOoKWVVKlccHD+7cu3dvuZDVnj64fnbP4h21c+5Y09VdNbhjTe9PBuuPrDumLvsHeld9cPTCF1tWzVu/f3Kh3p8MTpy7Zkv9WR8srky4f6C3u3xi8KzQ4I41Xd3zeletWVx5avzIeb2TI9mXyLSxhi9/qmn35DvWdM0e+OPEBRm/I5OvJZgPFgcuRXCHLe32g8XjOylvoHJDx9fasqqna9UHRxsOiohI/qzetP3syJ39p662N2dH7qzetD3LEjNm9v3fxmbM7Mu+xN6Tlydypfxg38kre09enjGz78GEGTP7Xtr4Rt1I1Yk1qV4imdGx+6WFE4Xss4u3g2lcyIaChaz29MENc3r6f1c98kF/d91IgyP3D/R2rx2oO2z/QG939TfSerq6e7pWfVB7cHLR8rrzNuyvfRw8q9FU+wd6a3f+p5/O6/3p4MCqnt6fDra2RNONhY9sV9o9+e/Wds0Z+NP4zJXXcrvqyiTzQX/y5oZ3mHu3NZtJbLXZoIiItJjVm7afvXz301NX25uhy3dXb9o+ucTInU9PXQumaSFrdOLQyJ3qJYau3N136uq+wSvjHwev7hu8un/w6v7Bqy+9+usZM/v+34S6xy+9+ut9p66MHzze9q7sH7yyb/Dq0JXJV5HM6Nj90qKJQnb80p1gqgvZwMDAe+8NjI7WF7Ly/2JZLmS1pw9umNPT//uqkd+v7Zqz9f3AQokjAyPj2bpq/oYDd45f2t1fmer3a7tW7a46oKf3Z4N1Z73/s/ldc7a+f2lww5yJZ4Nnhafa3d+9duv4xzvHL905fmBr75yt79eulXWJphsbf+27+ydK58R1aHU8mMSFPbC1t3vt1vJOJl7g1lU9EzufnLZq85ODXd09E/d0cMOc8q2pfbEHtvbWb6zqStbPXzXznPm99UsENxNM9RJp1z84KCIirWb1pu1Dlxu2pdw5e+Xu6k3bJ5e4cvfA6evBVApZ3Q8rK4ONTix3vtolrn06kQOnrx04fe3T09fLn67ZtGXGzL7/U2vGzL41m7Z8WnXYxFnjGap6FcnUFLITw3eDqRSyadOmbd8+8K1vfWvnzp3Vnaz87bFKIas9/fTLc3r6360aeXdd15xtHwQWShwZGKmMr9s2fPfEu+t6f3a6PPjBz+Z3rdpdOWbbqp7KU3UTdnX3dHWv29b4rOxTlfdWe0CmJZpubGJk4tN31008bnU8mMpy5Vpz+sTBbb0Tx4/vcPI27e7vnv/ywbpXvbu/e/LWbFvVM3Hw6ZfnTBx8cFvv+ImnX141cccnN7a7f/JBcv7qW1/9OHhwODWX+uC2crGrOT44KCIiebN68zvnrt47ePZmMGs3DaT8gtfaTQONTjx39d7qze9kWWLGzL7yX0WdMbMvfbD5EmeuHzx74+DZGwfOXj945vrBM9cPnL1+8OyNg2euHzxzY+2mLZVpyzOv3bTlwNnrB89eP3D2xsGqVD6tXiKZmh9ZnhwZDaZSyAYGBo4de2/16mnlQnbs2EClilUXstrTz7w8p2fJzqqRneu65mzbHVgoceTImZfnzH/5cM1h215I/Lyye9228rQvfFh9WO/Pz9TO/+GS7onZDm/rLT8OntV8qtHdP59fOabqgMxLNN1Y/dWofNrqeDCJZw9v6y1fxvH99HRVtrRzXd0FH79E1Tdx8tMzVVWv5t7t/vn8mvs18uGSyo1Lzl+zw6rH4YMDr3HbCz3Vl71mPPHlFxwUEZFWs3rzO+evpbWlB42ltaVr91ZvfqeyxLlr9w6dvRnMjJl9N27cuHHjRl3bqww2OrHcliaXuHrv0NDNw+duHhq6dWjo1qGhm4eGbh4aunV46OahczfXbR6ozFkxY2bfus0Dh8/dOnTu5uGhm+UjD527eWjo5qFztw4N1SyRTE0hG7x8L5jK3yH7xje+8cQTT5dKpaGhof8dUv7DsLWnn31lbs+SXdUje5Z0z3/lcHKhxJG71nXNfXN3ckuH35z1wp7By/feeqFqnpqDk4vWz/bWCz2zfnE2fFbTqS6ffWVuohe+sKeFJZpurP7IyqetjgeTePbwm7O61701eYN6uir3KHgX6gYnPz37ytzEzT385qzu8ouqXmjPkvKD8F2u3mHV40ZfErV564Werhf2NHg2+OXX6GtSRERayEub3zl37d7BoZvBzJjZN9LYjJl9jU48f+3eS5vfqSxx/tq9iZ5Un6ZLNDrxXNUS5UJ25PwXh89/caQqh89/ceT8rXWbt1avUvd43Wtbj9SeVUm5kDW6dDWF7NSVL4P51rf/48DAwLFjx5544umBgYHkX+ffWfV9st/vPlB7+tDGuT1Ld9VM+OEv5nd1z994ZGJk1/pZvxiqP3LX+ppjak9fuuvLU1f2LJ375ofBhXat76p56stTV748deTNWZMT7lnaXT44eFazqWrz1gs9s34x1OISmTbW9cKeqiu2/q0rOcaDSdyUI2/Omji+/HI+/MX8ia1WtlR+tnxY9eDQxrk9VZcucdeqXnXVxvYs7U5OVZm/eofVj4MH17+08dtR/eqqr0x5M8FBERGZQl7a/M7F62ONGsmMmX0XGpsxs6/RiRevj720+Z2Clzh68c7Ri7ePXrh97OLtoxfuHL1w59jFO8cu3qleYsbMvvWvb60bOXbhztGLt49duHPswu1jF24fvXD72IU7xy7eqV4imZpCdvrqWDClUunq1dFVq77T6IDUDG2s/mbS3Lf2lMd3rZ8cfPHPaUdmz5G3Zo2fvv43oQP2/HJBZf6lu1LPajZVdX7zYs+sXw61vESTjQ1tnNuz9MXKVaqc2OL4kbdmBRYtV5y6S7f+N1fHfvNi5coPbZw7cWsm91911uQdXLDxl+urzlqw8UjDr4FZL66f2M+fl9Zssn7+8Wsy9609tY/Dm7ma3NXE3o7UXeHJqxEcFBGR3Fnz2o6L18eOnL8dzLrXtqb8Dtm617Y2OvHi9bE1r+0oeInPPr9blTuffX7ns8/vHvv87obXt1UmXP/6ts9qRza8vu1Y+ZSLd2tnuFu9RDI1hezMtb8Es3PnzlLpw30nL33t6+9+89tvn7n2l699/d0z1/7yzW+//e6ez/advPTNb79dzn/6pzfLB8hDy7lX5/Ys/UPm8T9s6Hrxo9h7FhGRr0TWvLbj0s2/fvb5aHtz6eZf17y2o+Aljl8anci9qsejxy+NnqgZuTd+wPDo8Uv3TlwaPT5878T4YaPlT8tHVi+RTM3/ZXn2+l+D2X/y0te+vrOS/SeHd/75+Nnrfy0/3n9yuPrZr319Z6N5pB05/+rcnmX/M+v4R79aEDpYRESk/Vn7+u+Gv/j7yZEv25vhL/6+9vXfFbzEieF7J4a/PDH85YnhexP58sTIvZPlkZEvy59WPXuv9uDJlE+pXiKZ0bH7pcUThWzoxt8a5dPBkUrKn1Y+Dt3429e+vrPuAHloubDp6Z5lf8w+LiIiUlBee+O9Q4OXr969394cGrz82hvvddISyYyO3S/1TxSyczf+LiIiIpIvR8/d3vyr99a+/rv2ZvOv3jt67nYnLZHM6Nj90pKJQnb+5r+JiIiISMGpLWS3/k1ERERECk5NIbtw63+JiIiISMEZL2Tf+973goWsBABAWylkAACRKWQAAJEpZAAAkSlkAACRKWQAAJEpZAAAkSlkAACRKWQAAJEVWsgePHjw4MGDlKfSn200yYMGsmym6SmNJq8+pekxTTeTfcXs8xQjZVfpe667eg9xi41Xf6Su6qOzEwCK18mFLMtyTY9Pn/yBQpbhIqefWPDremSv7aOwBwBiKfpHlsF3nfT35rrB5DGN3skavdG2NJ7jbXKK76yP3Rvz1O9pYVr9kihS9A0AEFEnF7JWDy6F3pgVsqYeu0LW6lPFiL4BACLq8EKW5fTk8dknz7Jiq7KcXnfFki+wWvqJlQMandL02Sne00Y3KH0/+bQ0W3uvZNPXlXKh2nsRAHgExSlkKW9FwaeCb2wpIymTt/rGVswprZ4e7ArJwUZXL8u56acED2j0KoJPPUgtZCnLTUXG2Rrtoek+g+MZX1eR1wGAR02EP3uR5X2o0acZRxo9m+MtrdH7YspUU3zjzLJccAPBdZue2GgkZdqmI1P/tOmLzS3LTXwYV7LV65zlsgPQMRSyht/qSHk25b286X6ayrJc9iWmeD0bLdTSXZvKp+nbyC3jrUzZQ1uuZKMDMl52ADpGuJAtVsiyTd50xRyynN70mOwvJ0uNaKTRJG38tOnrTdlVRukntvdKpryuHJcdgI4RLmSLHvJf6q+8r6S/S2V8b05/l2r6ppg+f463wCm+a+bYZN14ylt4vhqRpRnkvqdZLnjKNUnfVXbBbbT9SqYsmu+yA9AZwoVsQYcWsqYH5zi+6QytynJ6ypVJ339bakT6llq9p1kueFuKSPavk8KuZKMD2vJ6AXiMhAvZvBUdUshaOjh4QI63xim+m2Y5PXtreRg1In1Lrd7TLBe8LQXlwYT0/WfcQ1uuZKMD2vJ6AXiMhAvZs8s7oZA1egNuOt60H6Sb4rtpltNbujJTqREZpy1N4Z5mueDtKigZvyQexpVsOkO+yw5AZwgXsmeWPdxCVsr27YrgsylvVEHp8zc9Jf3IjDtsSZbTg8dk2WSjF5gy0uoLb7T5Rs823WGjwXyyX6X2XslWJ2x6PACdJM53yEqFFLLse2i6XIosO2xJltMz7jZ5cKOr13TyLNc237N1g1mOmaIc9z25jVavZOVxo3VzX3YAOkCc3yGDrxqNCoAU4UK28CH/X5bwVaOQAZAiXMj6FbJ2S/6YLMsPzugYbjEAKcKFbJlC1m4K2VecWwxAinAhe14hAwAoSriQrVTIAACKopABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAETWIYXsATwavvvd78f+rwGAx0/nFLI//Wm7SPQoZADk0FGFrFR6IBIxChkA+XRaIavzsN+Amy5RwB7k0YlCBkA+HVjIor8rV+dR24881ChkAOTT+YWsPFIZr/vmWeVx9YmNvsFWd0zyY8q0dc8G55THPQoZAPl0YCFrVLnqEmxUpdS2lFLIgjMEa1n6EvJYRyEDIJ8OLGR175HJUlXd2IIdK9nq6g4Ifkx+mn5A8mB53KOQAZDPV6uQpVSl4EhwKoVMGkUhAyCfr1YhK2X4Dln1Mcl33PQGlpyhbqTRPNIZUcgAyKfTCplIxChkAOSjkIm0LQoZAPl0VCETiR6FDIAcFDKRdkYhAyAHhUyknVHIAMhBIRNpZxQyAHJQyETaGYUMgBwUMpF2RiEDIAeFTKSdUcgAyEEhE2lnFDIAclDIRNoZhQyAHMKF7HmFTCRXFDIAcggXsiUKmUiuKGQA5BAuZAsVMpFcUcgAyCFcyJ5RyERyRSEDIIdwIfuXFQqZSJ4oZADkEC5kTy3tV8hEckQhAyCHcCH7waLnFDKRHFHIAMghXMi+v2CuQiaSIwoZADmEC1nP/DkKmUiOKGQA5BAuZDMXPqOQieSIQgZADuFC9mT/AoVMJEcUMgByCBeyHy5fppCJ5IhCBkAO4UI22x+GFckVhQyAHMKF7DmFTCRXFDIAcggXskUKmUiuKGQA5BAuZEsVMpFcUcgAyCFcyJ5XyERyRSEDIIdwIVupkInkikIGQA4KmUg7o5ABkINCJtLOKGQA5KCQibQzChkAOShkIu2MQgZADgqZSDujkAGQg0Im0s4oZADkoJCJtDMKGQA5KGQi7YxCBkAOCplIO6OQAZCDQibSzihkAOSgkIm0MwoZADkoZCLtjEIGQA4KmUg7o5ABkINCJtLOKGQA5BAuZM8rZCK5opABkEO4kC1RyERyRSEDIIdwIVuokInkikIGQA7hQvaMQiaSKwoZADmEC9m/rFDIRPJEIQMgh3Ahe2ppv0ImkiMKGQA5hAvZDxY9p5CJ5IhCBkAO4UL2/QVzFTKRHFHIAMghXMh65s9RyERyRCEDIIdwIZu58BmFTCRHFDIAcggXsif7FyhkIjmikAGQQ7iQ/XD5MoVMJEcUMgByCBey2f4wrEiuKGQA5BAuZM8pZCK5opABkEO4kC1SyERyRSEDIIdwIVuqkInkikIGQA7hQva8QiaSKwoZADmEC9lKhUwkVxQyAHJQyETaGYUMgBwUMpF2RiEDIAeFTKSdUcgAyEEhE2lnFDIAclDIRNoZhQyAHBQykXZGIQMgB4VMpJ1RyADIQSETaWcUMgByUMhE2hmFDIAcFDKRdkYhAyAHhUyknVHIAMhBIRNpZxQyAHJQyETaGYUMgBwUMpF2RiEDIAeFTKSdUcgAyEEhE2lnFDIAclDIRNoZhQyAHBQykXZGIQMgB4VMpJ1RyADIQSETaWcUMgByUMhE2hmFDIAcFDKRdkYhAyAHhUyknVHIAMhBIRNpZxQyAHJQyETaGYUMgBwUMpF2RiEDIIcOKWTf/e73RR6RxP6vAYDHT4cUMgCAx5dCBgAQWbiQrVDIAACKEi5kyxUyAICihAvZEoUMAKAo4UK2UCEDAChKuJA9q5ABABQlXMj6FDIAgKKEC9kPly1VyAAAihEuZE/2L1DIAACKES5kP1j0rEIGAFCMcCH7zwufUcgAAIrR6DtkzylkAADFCBey3iWLFDIAgGKEC9l/Wb5cIQMAKEa4kM32d8gAAIoSLmTPKWQAAEUJF7JFChkAQFHChWypQgYAUJRwIXteIQMAKEq4kK1UyAAAiqKQAQBEppABAESmkAEARKaQAQBEFrOQPahVHpnibFPfUsbBVqdNvtLqT+sOS66bPCt5xapPTJ8nfZNTf7FTnCH66hknqTvsoZ4FQGeL/x2yjHUh4yRTfHt7SO+OyWmDZSs5knzQdJ7sj7PMk4NC9jDOAqCzPYqFLP37Rk0naTRn05mDCzUaqauA6TvMXciCH9PnCT5uWlgbzdz0XmS/hk3vYNOr2q7VH1RJuRqtrpXxKyHLWVmuGACd5JErZMm35OCRdTME3+Tq5kmZOX2JVmdO2WHy7Tw4Ur3Duo/Js4KvKLjP9B0G95ycIeX44FMZ72Bhq2dpORlXT67V9Cshy1lZrhgAHeaRK2R1j5M1pekkjeZJGWk0T8Ydpp8eHM9eodL3nL2QlVK/eZNScapHgo0w2BHTz4q7ektfTinXtulXXZYXG1yr6RUDoMM8BoWs1UlKoQrS6lts+q6azpO+vYwrZrka1ePZ95y+w/S10s9KPshyB2Otnu9qZFkrSyHLfpcB6HiPeiErZfh+RqnBu3XTshKcuW4keUzdyBQLWcoOgyPVUg5udYfpZzU6pm5LdYMpZ0VcPXhKo4Wavooc1znLWVmuGACdJH4ho3gPasXeDgB81XVyIYvbNrIvXeQm078tlPHIHIsmZ8sxf+4tPZr3AgAqOraQpf/w65HS8YWsXbMVcKEe/a8WADpS5xey6k+z/HZRKfFrPU1/3yj5OLlQo9WTZ7X6O0nBs5qulT5J+jzprSV4TPLT4EjKq8i4dPJxkfcCAPLpzEIWrBfBN9fqkUYfG52VHE95nKwadU8FS0PT1YOvoulaTV9I+jwp+8k+nn7dgver6UV4dO4FALSkMwtZKdsP4B5UKTWuBcl6l5w5/W07yxt8o5HkszleRfp1CD41lauRZTxZktJfRfrm6/bZaIZGryvjSNN7AQD5fHULWatvzOkLxSoB+WZOn2rqVyP9ce5nmzazgu9FSjEFgJZ8dQtZKcP3lqqPabpW8Fs+ydWTM6eslaUJtfQqskyVZc9Z9jOVkZQK9ejci6abAYCMOraQAQA8LhQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMgUMgCAyBQyAIDIFDIAgMjChWyFQgYAUBSFDAAgsnAhe14hAwAoikIGABCZQgYAEJlCBgAQmUIGABCZQgYAEJlCBgAQmUIGABCZQgYAEJlCBgAQmUIGABBZuJAtV8gAAIqikAEARKaQAQBEFi5kyxQyAICihAvZEoUMAKAo4ULWr5ABABQlXMgWKmQAAEUJF7LnlitkAAAFCReyuUsUMgCAgoQLWd9ChQwAoCDhQvbf5i1XyAAAihEuZP/12WUKGQBAMRQyAIDIGvzI8jk/sgQAKEi4kP33BX6pHwCgIOFCNmexQgYAUJBwIXtmmUIGAFCQcCGbv0IhAwAoSLiQ+bcsAQAKEy5kixUyAICihAtZv0IGAFCUcCFbopABABRFIQMAiEwhAwCITCEDAIhMIQMAiEwhAwCITCEDAIhMIQMAiEwhAwCITCEDAIhMIQMAiEwhAwCITCEDAIgsXMj6FTIAgKKEC9kihQwAoCjhQrZQIQMAKEq4kC1QyAAAihIuZPMVMgCAoihkAACRKWQAAJH5HTIAgMj82QsAgMjChWyxQgYAUBR/qR8AILJwIfNvWQIAFEYhAwCITCEDAIhMIQMAiEwhAwCITCEDAIhMIQMAiMzfIQMAiCxcyPzTSQAAhQkXMv+4OABAYcKFbN4KhQwAoCDhQvbscoUMAKAg4UL29FKFDACgIOFC9oxCBgBQFD+yBACILFzI5vu/LAEAiuLvkAEARBYuZP7pJACAwoQL2XKFDACgKOFCtkIhAwAoSriQrVTIAACKopABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKyvqVwAAAHLSURBVKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARBYuZCsUMgCAooQL2XKFDACgKOFCtkQhAwAoSriQLVLIAACKEi5k8xUyAICihAvZs8sVMgCAgoQL2TNLFTIAgIIoZAAAkTX4keUyhQwAoCDhQjZvhUIGAFCQcCFb4P+yBAAoir9DBgAQWbiQ9StkAABFCRcy/3QSAEBhFDIAgMgUMgCAyBQyAIDI/FI/AEBk/uwFAEBk4UK2UCEDAChKuJDNV8gAAIoSLmT+LUsAgMIoZAAAkSlkAACR+R0yAIDIFDIAgMgUMgCAyPwOGQBAZOFC9uxyhQwAoCDhQvb0EoUMAKAg4UI2Z7FCBgBQkHAh61uokAEAFEQhAwCIrEEhW6SQAQAUxO+QAQBE1vL/ZSkiIiIiDztN/g6ZiIiIiDzsNPmnk0RERETkYWd07H5poUImIiIiEi+jY/dLixUyERERkXgZHbtf6lfIREREROJldOx+aclEIRMRERGRKPn/x0vWQilX09IAAAAASUVORK5CYII=" alt="" width="440" height="279" />
#include <stddef.h>
#include <string.h>
#include "GUI.h"
#include "FRAMEWIN.h" #define SPEED 1200
#define MSG_CHANGE_MAIN_TEXT (WM_USER + 0) static FRAMEWIN_Handle _hFrame;
static WM_CALLBACK* _pcbOldFrame;
static char _acMainText[];
static int _LockClose = ; //Frame窗口消息回调函数
static void _cbFrame(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case WM_NOTIFY_PARENT:
if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {
int Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
if (Id == GUI_ID_CLOSE) {
if (_LockClose) {
return;
}
_hFrame = ;
}
}
break;
}
if (_pcbOldFrame) {
(*_pcbOldFrame)(pMsg);
}
} //背景窗口回调函数
static void _cbBkWindow(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case MSG_CHANGE_MAIN_TEXT:
strcpy(_acMainText, pMsg->Data.p);
WM_InvalidateWindow(pMsg->hWin);
break;
case WM_PAINT:
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispStringHCenterAt("WIDGET_FrameWin - Sample", , );
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringHCenterAt(_acMainText, , );
GUI_SetFont(&GUI_Font6x8);
GUI_DispStringHCenterAt("The function FRAMEWIN_Create creates both the\n"
"frame window and the client window.", , );
break;
default:
WM_DefaultProc(pMsg);
}
} static void _DemoFramewin(void) {
int i;
WM_HWIN hChild;
/* Set callback for background window */
WM_SetCallback(WM_HBKWIN, _cbBkWindow); //背景窗口消息回调函数
_hFrame = FRAMEWIN_Create("Frame window", , WM_CF_SHOW, , , , );
/* Set callback for frame window */
_pcbOldFrame = WM_SetCallback(_hFrame, _cbFrame);
// /* Set moveable */
FRAMEWIN_SetMoveable(_hFrame, );
// /*给窗口加入几个最大最小化按钮 */
// FRAMEWIN_AddCloseButton(_hFrame, 0, 0);
// FRAMEWIN_AddMaxButton(_hFrame, FRAMEWIN_BUTTON_RIGHT, 0);
// FRAMEWIN_AddMinButton(_hFrame, FRAMEWIN_BUTTON_RIGHT, 2);
/* Modify frame window attributes */
FRAMEWIN_SetActive(_hFrame, );
// FRAMEWIN_SetFont(_hFrame, &GUI_Font16B_ASCII);
// FRAMEWIN_SetTitleHeight(_hFrame, 20);
//
// FRAMEWIN_SetTextColor(_hFrame, GUI_YELLOW);
// FRAMEWIN_SetTextAlign(_hFrame, GUI_TA_HCENTER);
// FRAMEWIN_Minimize(_hFrame);
// FRAMEWIN_Maximize(_hFrame);
// FRAMEWIN_Restore(_hFrame);
// for (i = 0; i < 5; i++) {
// FRAMEWIN_SetTitleVis(_hFrame, 0);
// GUI_Delay(200);
// FRAMEWIN_SetTitleVis(_hFrame, 1);
// GUI_Delay(200);
// }
// /* Time to play with frame window */
while(){
GUI_Delay();
}
// _LockClose = 0;
// if (_hFrame) {
// FRAMEWIN_Delete(_hFrame);
// }
} void test(void) {
GUI_Init();
WM_EnableMemdev(WM_HBKWIN);
_DemoFramewin();
}
[ucgui] 对话框8——Framewin小工具的更多相关文章
- [ucgui] 对话框5——鼠标位置和移动窗口
>_<" 这节主要是获取鼠标的位置和把窗口设置为可以移动.其中设置窗口可以移动用FRAMEWIN_SetMoveable(hFrameWin, 1)就行了.而获得鼠标位置则是利用 ...
- [ucgui] 对话框2——小窗口初始化与消息响应
>_<" 上一节已经说过,创建过得窗口虽然可见,但是它们是以 “空”的形式出现的.这是因为对话框过程函数尚未包含初始化单个元素的代码.小工具的初始值.由它们所引起的行为以及它们之 ...
- [ucgui] 对话框3——GUIBuilder生成界面c文件及修改
>_<" 其实生成GUI有相应的工具:
- Windows下好用到必须开机自启的小工具
折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具. ...
- [ucgui] 对话框4——模式消息窗口
>_<" 这里实现点击灰色窗口的按钮出现一个模式消息窗口,点击OK之后才能再聚焦到灰窗口:点击灰窗口除了按钮的地方,弹出一个非模式窗口.
- [ucgui] 对话框1——创建对话框
>_<" 小工具和对话框的区别: 小工具可以创建并独立使用,因为它们本质上就是窗口.但是,通常需要使用对话框,它是包含一个或多个小工具的窗口. 对话框通常是一个窗口,它在出现时会 ...
- C#照片批量压缩小工具
做了一个照片批量压缩工具,其实核心代码几分钟就完成了,但整个小工具做下来还是花了一天的时间.中间遇到了大堆问题,并寻求最好的解决方案予以解决.现在就分享一下这个看似简单的小工具所使用的技术. 软件界面 ...
- js 创建书签小工具之理论
我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知.我原本认为书签小工具属于后者,非常令人讨厌的东西.令我非常懊恼的是我发现在这个问题上我完全是错误的.它并不是令人厌烦的,而是以用户为 ...
- 推荐一款不错的dialog小工具:artDialog
推荐一款不错的dialog小工具, 地址:http://www.planeart.cn/demo/artDialog/_doc/labs.html 相关介绍例如以下: artDialog是一个基于ja ...
随机推荐
- C# 委托的学习
delegate int GetCalculatedValueDelegate(int x, int y); //定义是个委托实际上就是抽象一类 参数列表形式和返回值相同的函数AddCalcu ...
- 【软件工程】电梯调度的初步实现 李亚文&&郭莉莉
一.开门见山,代码粘 using System; using System.Collections.Generic; using System.Data; using System.Drawing; ...
- 如何实现能像windows 窗体一样改变大小的控件 Silverlight
众所周知,我们可以将鼠标放在windows窗体的边框上,按住鼠标左键改变窗体大小.那么,在silverlight上如何实现呢? 1. 需要将改控件放置在canvas上. 2. 判断鼠标位置,然后将Ar ...
- fastJson java后台转换json格式数据
什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- jdk1.6 反射性能对比
ReflectPerformance.java package aaa.bbb.ccc; import java.lang.reflect.Method; public class ReflectPe ...
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- Java基础知识温习(无聊的不要不要的,你要不要一起学习!)
1.Java中的多态 多态是指对象的多种形态,主要包括这两种: 1.1引用多态 a.父类的引用可以指向本类的对象b.父类的引用可以指向子类的对象举个例子:父类Anmail,子类Dog,可以使用父类An ...
- CentOS7搭建NAS,包括NFS、ISCSI
第一步:安装 更新系统 yum update 安装iftop yum install epel-release yum install iftop 安装NFS yum install nfs-util ...
- 加密算法—MD5、RSA、DES
最近因为要做一个加密的功能,简单了解了一下加密算法,现在比较常用的有三个加密算法MD5加密算法.RSA加密算法.DES加密算法. MD5加密算法 定义:MD5算法是将任意长度的“字 ...
- Android(Xamarin)之旅(四)
这么晚了,可能也因为一点事情,就说打开博客园看看,结果 http://www.cnblogs.com/mindwind/p/5125248.html 这篇文章瞬间吸引了我.暗暗的回想一下,十年之后,我 ...