单击了 Close按钮

有时候,DefWindowProc处理完消息后会产生其它的消息。例如,假设使用者执行HELLOWIN,并且使用者最终单击了 Close按钮,或者假设用键盘或鼠标从系统菜单中选择了 Close, DefWindowProc处理这一键盘或者鼠标输入,在检测到使用者选择了Close选项之后,它给窗口消息处理程序发送一条WM_SYSCOMMAND消息。WndProc将这个消息传给DefWindowProc。DefWindowProc给窗口消息处理程序发送一条WM_CLOSE消息来响应之。WndProc再次将它传给DefWindowProc。DestroyWindow呼叫DestroyWindow来响应这条WM_CLOSE消息。DestroyWindow导致Windows给窗口消息处理程序发送一条WM_DESTROY消息。WndProc再呼叫PostQuitMessage,将一条WM_QUIT消息放入消息队列中,以此来响应此消息。这个消息导致WinMain中的消息循环终止,然后程序结束。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个很好的问题。这里是一个简单的实现: HTML: ```html <div> <button id="create-post">我要发贴</button> </div> <div id="post-form" style="display: none;"> <h2>发帖</h2> <label for="title">标题:</label> <input type="text" id="title" /> <br /> <label for="content">内容:</label> <textarea id="content"></textarea> <br /> <label for="board">板块:</label> <select id="board"> <option value="1">板块1</option> <option value="2">板块2</option> <option value="3">板块3</option> </select> <br /> <button id="submit-post">发布</button> <button id="close-post-form">关闭</button> </div> <ul id="post-list"></ul> ``` JavaScript: ```javascript const createPostButton = document.getElementById("create-post"); const postForm = document.getElementById("post-form"); const closePostFormButton = document.getElementById("close-post-form"); const submitPostButton = document.getElementById("submit-post"); const postList = document.getElementById("post-list"); let posts = []; function renderPosts() { postList.innerHTML = ""; for (let i = 0; i < posts.length; i++) { const post = posts[i]; const postElement = document.createElement("li"); postElement.innerHTML = ` <h3>${post.title}</h3> <p>${post.content}</p> <p>板块:${post.board}</p> <button class="delete-post" data-index="${i}">删除</button> `; postList.appendChild(postElement); } } createPostButton.addEventListener("click", function() { postForm.style.display = "block"; }); closePostFormButton.addEventListener("click", function() { postForm.style.display = "none"; }); submitPostButton.addEventListener("click", function() { const title = document.getElementById("title").value; const content = document.getElementById("content").value; const board = document.getElementById("board").value; posts.push({ title, content, board }); renderPosts(); document.getElementById("title").value = ""; document.getElementById("content").value = ""; document.getElementById("board").selectedIndex = 0; }); postList.addEventListener("click", function(event) { if (event.target.classList.contains("delete-post")) { const index = event.target.dataset.index; posts.splice(index, 1); renderPosts(); } }); ``` 这个代码会创建一个“我要发贴”按钮,当用户点击它时,发帖表单会显示出来。在表单中,用户可以输入标题、内容和选择板块,然后单击“发布”按钮将内容添加到帖子列表中。在帖子列表中,每个帖子都有一个“删除”按钮,可以单击它将该帖子从列表中删除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值